2011-05-15 2 views
5

Мы используем многоплатформенное приложение, которое должно работать как на Windows, так и на Mac. Наша заявка основана на OpenSSL в качестве поставщика SSL и соответствующих материалов. Он использует сертификат клиента для установления безопасных подключений и идентификации конечного пользователя.Интеграция OpenSSL и Apple Keychain

Мы хотим использовать хранилища сертификатов для Windows и Mac, чтобы обеспечить максимальную безопасность. У Openssl есть механизм для взаимодействия с хранилищем сертификатов Windows (CAPI engine). Однако нам не удалось найти такое решение для Keychain для Mac.

Есть ли интеграция между OpenSSL и брелка Apple?

Если нет, то каково ваше предложение?

+0

Мы просто наткнулись на эту ссылку (http://www.mentby.com/wim-lewis-2/using-cdsacssm-modules-as-openssl-engines.html) на какую-то реализацию механизма openssl для макинтош Мы проверяем, отвечает ли оно нашим потребностям. – Guy

ответ

0

В дополнение к обработке сертификата клиента вам также необходимо проверить сертификат сервера.

Для этого вам необходимо предоставить OpenSSL обратный вызов, который использует инфраструктуру безопасности Mac OS X для проверки сертификата сервера. Используйте функцию OpenSSL SSL_CTX_set_cert_verify_callback, чтобы настроить обратный вызов проверки своего пользовательского сертификата. Ваш обратный вызов должен преобразовать сертификаты OpenSSL в SecCertificateRef, создать для соединений SSL SecPolicyRef, создать SecTrustRef и оценить его. См. Certificate, Key, and Trust Services Reference для более подробной информации.

0

Я думаю, что «самым простым» решением было бы написать движок OpenSSL для CSSM (API для CDSA, security architecture used by Mac OS X). Вы должны спросить список рассылки openssl-dev, если кто-то заинтересован в помощи (и, возможно, уже начался).

Смежные вопросы