2014-01-03 3 views
0

Как получить закрытый ключ с форматом asn из pfx? Мне нужно получить закрытый ключ с asn-форматом, чтобы поместить Qt-переменную QSslKey для подключения https-сервера.Как получить закрытый ключ с asn-форматом из pfx?

Я должен использовать Win32 Api для этого, и я не могу использовать OpenSSL для его преобразования.

Сначала я пытаюсь получить секретный ключ непосредственно:

1.CertOpenSystemStore(NULL, _T("MY")) 
2.CryptAcquireCertificatePrivateKey(...) 
3.CryptGetUserKey(...) 
4.CryptExportKey(...) 

Но частный ключ у меня, я не знаю, как использовать его.

ответ

1

Предупреждение: Это не точный ответ на ваш вопрос, но я надеюсь, что это даст вам некоторую помощь в отношении того, что вы хотите для того чтобы достигнуть

Основываясь на моем опыте, Windows, криптографические API-интерфейсы предназначены для использования закрытый ключ в хранилище сертификатов, а не экспортировать ключ снаружи, если только вы не используете стандартные функции CryptoAPI, такие как PFXExportCertStoreEx().

Функция CryptExportKey предоставляет пару частных/открытых ключей в структуре ключевого блоба, которую вы должны преобразовать в желаемый формат. Ближе всего я когда-либо видел это существо делается в

двигатель OpenSSL для Windows, файла: e_capi.c

относятся к функции

**capi_load_privkey() and subfunction capi_get_pkey()** 

Здесь преобразование Key сгустка для совместимости с OpenSSL. Надеюсь, это поможет

+0

Спасибо! Помогает мне! – lvshuchengyin