C# - Как создать CSR с шаблоном, перенаправив его на промежуточный сервер, который регистрирует сертификат из PKI и возвращает PKCS # 7 в ответ - PullRequest
0 голосов
/ 04 марта 2020

У меня есть ситуация, когда я должен отделить свой пограничный сервер от сервера 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 () - Не реализовано

...