Как создать 256-битный самозаверяющий ключ сертификата с OpenSSL?
Взгляните на сертификат безопасности PayPal ( https://www.paypal.com/). Там написано: Соединение зашифровано: высококачественное шифрование (TLS_RSA_WITH_AES_256_CBC_SHA, 256-битные ключи).
Теперь, как я могу создать свой самозаверяющий сертификат для того же шифрования, AES256?
Я попробовал следующий код в Openssl:
openssl> req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -days 365 -nodes
Я закончил с 128-битным сертификатом. Тогда я попробовал:
openssl> genrsa -aes256 -out key.key 4096
openssl> req -new -key key.key -out cert.csr
openssl> x509 -req -days 365 -in cert.csr -signkey key.key -out cert.crt
openssl> rsa -in key.key -out key.key
Даже если я указал '-aes256', я снова получил 128-битный сертификат: Шифрование соединения: Высококачественное шифрование (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 128 BIT KEYS).
Итак, что я сделал не так, и вы можете сказать мне, как создать этот 256 сертификат? Спасибо за помощь!
2 ответа
CodesInChaos был прав. Я должен был отредактировать конфигурацию сервера. Я добавил строку SSLCipherSuite в конфигурации Apache, и она сработала:
SSLCipherSuite AES256-SHA
Распространенное заблуждение, что SSL-сертификаты не определяют надежность шифрования, которую использует веб-сайт, в отличие от SSL-конфигурации веб-сервера. Есть два типа сертификатов, подписанных RSA или EC. Если вы хотите использовать SSL-шифры с ECDH, вам понадобится сертификат, подписанный EC, в противном случае сертификаты RSA смогут использовать только шифры RSA.