#c# #cryptography #crt
#c# #криптография #crt
Вопрос:
Есть ли способ извлечь открытый ключ из сертификата с помощью C #? У меня есть файл сертификата с расширением .crt.
Ответ №1:
Использовать:
certificate = new X509Certificate2("server.crt", "secret_password");
byte[] publicKey = certificate.PublicKey.EncodedKeyValue.RawData;
теперь массив байтов ‘publicKey’ представляет собой значение открытого ключа в кодировке ASN.1.
Комментарии:
1.
byte[] publicKey = certificate.GetPublicKey.EncodedKeyValue.RawData;
у меня не сработало, пришлось использовать простоbyte[] publicKey = certificate.GetPublicKey();
2. ну да, это больше подходит, если вы собираетесь использовать открытый ключ напрямую.
3. И как получить открытый ключ из байтов? например, у меня есть открытый ключ (сгенерированный с помощью алгоритма EC, кривая «secp256r1») и его закодированные байты на java, как я могу создать открытый ключ из этих байтов в c #?