Как правильно подписать сертификаты x.509, используя сертификат CA в m2crypto? - PullRequest
2 голосов
/ 17 сентября 2010

Я работаю над автоматизированным центром сертификации для внутренней инфраструктуры, которая работает на Twisted Web и M2Crypto. У CA есть свой ключ. Другие машины могут отправлять запросы GET с CSR в качестве тела. Предполагая, что все подтверждено, сервер Helios должен ответить в теле соответствующим сертификатом.

Полный исходный и тестовый файлы для приложения находятся здесь:

В настоящее время все работает (запрос CSR через ответ сертификата), за исключением проверки сертификата:

root@helios:~/helios-ca# openssl verify -CAfile ca.crt test.pem
test.pem: /C=US/ST=California/L=San Francisco/O=Pantheon Systems, Inc./OU=Infrastructure/CN=one.com/emailAddress=support@getpantheon.com
error 7 at 0 depth lookup:certificate signature failure
4280:error:04077068:rsa routines:RSA_verify:bad signature:rsa_sign.c:255:
4280:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:173:

Если я использую OpenSSL для подписи тестового сертификата из оболочки, все проверяется корректно. Должно быть что-то не так с кодом подписи в Гелиосе.

Это связанный вопрос:

К сожалению, ресурсы, связанные с этим предыдущим вопросом, используют одну и ту же пару ключей для CA и окончательного сертификата. Это глупо по очевидным причинам и делает эти примеры совершенно бесполезными для реальной ИПК.

...