Сохранить сертификат X.509 в c-строку и загрузить его в объект SSL_CTX? - PullRequest
0 голосов
/ 25 июня 2010

Я довольно новичок в openssl.До сих пор я изучал учебные материалы, предлагаемые IBM и HP, и получил несколько советов о том, как использовать API openssl.

Мой проект заключается в использовании токена памяти USB, загруженного цифровым сертификатом, для проверки личности клиента с помощью элемента управления ActiveX в браузере клиента.Теперь проблема в том, что предоставляемая поставщиком библиотека для токена поддерживает только чтение и запись строк с токена и на него.Однако я знаю только, как загрузить сертификат из файла с функциями SSL_CTX_load_verify_locations() или SSL_CTX_use_certificate_file().

Единственное, о чем я могу думать, - это записать в токен большой кусок зашифрованного содержимого между BEGIN X509 CERTIFICATE и END X509 CERTIFICATE и прочитать его в виде строки.Теперь мне действительно нужна помощь, чтобы загрузить эту строку в SSL_CTX объект ctx в openssl.

Кстати, содержит ли длинный текст между BEGIN X509 CERTIFICATE и END X509 CERTIFICATE так называемый открытый ключ и другие?информация (например, срок действия) кроме закрытого ключа?Пожалуйста, поправьте меня, если я ошибаюсь:)

Любая помощь будет высоко ценится!

Z.Zen

1 Ответ

0 голосов
/ 25 июня 2010

Если вы можете читать и записывать произвольные двоичные двоичные объекты в токен, то вы можете просто сохранить сертификат и закрытый ключ в формате ASN1, а затем загрузить их с SSL_CTX_use_certificate_ASN1() и SSL_CTX_use_PrivateKey_ASN1() (в этом порядке).Обратите внимание, что вам нужно сделать оба, потому что сертификат не хранит закрытый ключ;он должен храниться отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...