Используя Windows CryptoAPI, можно ли получить открытый ключ RSA из закрытого ключа, который был импортирован (не сгенерирован)?
Если я использую CryptGenKey, я могу вызвать CryptExportPublicKeyInfo и CryptImportPublicKeyInfo, чтобы получить дескриптор открытого ключа. Однако, когда я пытаюсь сделать то же самое с закрытым ключом, декодированным из PEM и импортированным с использованием:
CryptImportKey(hCSP, pKeyBuf, cbKeyBuf, 0, CRYPT_EXPORTABLE, &hPrivKey)
импорт закрытого ключа завершается успешно, и у меня есть действительный дескриптор, но последующий вызов CryptExportPublicKeyInfo завершается неудачно с ошибкой «Ключ не существует». Похоже, что отсутствует еще один вызов между CryptImportKey и CryptExportPublicKeyInfo, но я не могу найти этот вызов API.
CryptExportPublicKey
звонок? Это ключ подписи или ключ шифрования? - person erickson   schedule 24.02.2015