У меня есть ситуация, когда я должен отделить свой пограничный сервер от сервера PKI. Пограничный сервер требует, чтобы на нем был установлен подписанный сертификат. При текущем предложенном подходе мне нужно создать CSR с шаблоном, полученным из политик PKI, переслать CSR на промежуточный сервер, который получает CSR, подписанный и получить PKCS # 7 в ответ от PKI, а затем он возвращает обратно PKCS № 7 удостоверяется на краю, где он связывает свой закрытый ключ, сгенерированный на первом шаге, и сгенерированный PKC # 12, который хранится в хранилище локального компьютера для дальнейшего использования. Это код C#, и я использую сертификаты X509.
1-й метод ----------
public static Pkcs10CertificationRequest CreateNReturnCSR(string name)
{
var keyGenerator = new RsaKeyPairGenerator();
keyGenerator.Init(
new KeyGenerationParameters(
new SecureRandom(new CryptoApiRandomGenerator()),
2048));
var keyPair = keyGenerator.GenerateKeyPair();
X509Name name2 = new X509Name("CN=" + name);
Pkcs10CertificationRequest csr = new Pkcs10CertificationRequest("SHA256WITHRSA", name2, keyPair.Public, null, keyPair.Private);
// Где упомянуть шаблон здесь?
return csr;
}
2-й метод ------------ UseCSRNReturnCert (csr) - Не реализовано
3-й метод ----- ------ BundleNInstallCert () - Не реализовано