Вопрос

Я пытаюсь создать поддельный CA и подписать с ним сертификат для использования с stunnel (который, похоже, вызывает подпрограммы OpenSSL, поэтому вам, вероятно, не нужно знать программу, чтобы помочь :). Однако stunnel продолжает отклонять мой сертификат, говоря, что он не подписан правильным ключом!

Вот как я генерирую свои ключи и сертификаты с помощью OpenSSL:

openssl genrsa -out ca_key.pem 1024

openssl req -config ./root2.cfg -new -sha1 -x509 -key ca_key.pem -out ca_cert.pem -subj "/CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software"

openssl genrsa -out MPS_key.pem 1024

openssl req -config ./MPS2.cfg -new -sha1 -key MPS_key.pem -out MPS_cert_req.pem -subj "/CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software"

openssl x509 -req -in MPS_cert_req.pem -signkey ca_key.pem -out MPS_cert.pem -extensions MPS_ext

Тогда в моем stunnel.conf есть следующие записи:

CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem

Когда я пытаюсь запустить stunnel, я получаю общий ключ OpenSSL " не соответствует сертификату " Ошибка:

2009.09.09 16:36:04 LOG3[492:172]: SSL_CTX_use_RSAPrivateKey_file: B080074: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

Я что-то не так сделал при создании моих файлов?

Это было полезно?

Решение

Я подведу итог, что у вас есть настройки:

<Ол>
  • У вас есть " CA " сертификат, который самоподписан.
  • У вас есть MPS_cert, который подписан самостоятельно.
  • Вы подписали MPS_cert с помощью ключа CA.
  • Если вы прочитали ссылку на команду OpenSSL x509 ( http://openssl.org/docs /apps/x509.html ) вы увидите, что параметр -signkey указывает OpenSSL самостоятельно подписывать предоставленный сертификат с помощью данного закрытого ключа. Это не , что вы хотите.

    Вы хотите создать самозаверяющий центр сертификации, а затем использовать его для подписи своего CSR и создания действующего сертификата.

    openssl verify ca_cert.pem
    ca_cert.pem: /CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software
    error 18 at 0 depth lookup:self signed certificate
    OK
    
    openssl verify MPS_cert.pem
    MPS_cert.pem: /CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software
    error 18 at 0 depth lookup:self signed certificate
    OK
    

    Соответствующие параметры: -CA, -CAkey и -set_serial

    openssl x509 -CA ca_cert.pem -CAkey ca_key.pem -set_serial 1 -req -in MPS_cert_req.pem -out MPS_cert2.pem -days 365
    

    Это должно привести к получению сертификата, подписанного вашим ЦС, который сам будет подписан.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top