Я пытаюсь проверить подписи XML, подписанные с помощью алгоритмов ECDsa.Я основываю свою работу на библиотеке XmlDSigEx, которую я должен немного изменить в соответствии со своими потребностями. Моя нынешняя проблема связана с получением открытого ключа из сертификата и использованием его в качестве CngKey. Я использовал:
// var cert = X509Certificate2 ...
var key = CngKey.Import(cert.GetPublicKey(), CngKeyBlobFormat.EccPublicBlob);
, который выдает «Параметр неверен».Я не смог найти какую-либо информацию о том, какой формат открытого ключа предполагается передать в качестве ключа.Поэтому я прошу помощи по этому вопросу: Как передать открытый ключ, хранящийся в сертификате X509, в CngKey?
TIA, Alois
PS: я подумалиспользовать BouncyCastle для извлечения открытого ключа.Я попытался
X509Certificate.CertificateStructure.SubjectPublicKeyInfo.GetEncoded()
BC, а также
X509Certificate.CertificateStructure.SubjectPublicKeyInfo.PublicKeyData.GetBytes()
, чтобы передать ключ CngKey;однако возникает та же ошибка.