Как добавить расширение идентификатора центра сертификации Ket в мой сертификат?

Я использовал X509Extension по умолчанию:certificateRequest.CertificateExtensions.Add(new X509Extension(new Oid("2.5.29.35"), issuer.GetPublicKey(), false));

Но когда я его декодирую, это расширение сломано и имеет странный порядок случайных символов. В .NET 7 у меня есть класс X509AuthorityKeyIdentifierExtension, но мне нужно сделать то же самое в .NET Framework 4.8. Как я могу это сделать?

1 ответ

В устаревшей .NET Framework нет встроенного способа сделать это без использования сторонних библиотек.

Например, у меня есть собственная библиотека расширений PKI для .NET Framework, которая содержит классы для наиболее распространенных расширений сертификатов. Вот примерX509AuthorityKeyIdentifierExtensionкласс: https://github.com/PKISolutions/pkix.net/blob/master/PKI/Cryptography/X509Certificates/X509AuthorityKeyIdentifierExtension.cs

И использование может быть:

      var aki = new X509AuthorityKeyIdentifierExtension(issuer, AuthorityKeyIdentifierFlags.KeyIdentifier, false);
certificateRequest.CertificateExtensions.Add(aki);

ps Я автор библиотеки pkix.net.

Другие вопросы по тегам