OpenSSL не применяет алгоритмы сигнатур - PullRequest
0 голосов
/ 26 марта 2020

OpenSSL newb ie,

Я пытаюсь отключить SHA1 из алгоритмов подписи, я установил алгоритмы подписи OpenSSL так:

SSL_CTX_set1_sigalgs_list(ctx, "ECDSA+SHA256:rsa_pss_rsae_sha256:RSA+SHA256:ECDSA+SHA384:rsa_pss_rsae_sha384:RSA+SHA384:rsa_pss_rsae_sha512:RSA+SHA512");

Как вы можете видеть там нет списка SHA1, функция возвращает успех, и WireShark действительно показывает эти алгоритмы:

Signature Hash Algorithms (8 algorithms)
    Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
    Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
    Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
    Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
    Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
    Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
    Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
    Signature Algorithm: rsa_pkcs1_sha512 (0x0601)

Однако, когда я подключаюсь к https://sha1-intermediate.badssl.com/, OpenSSL не применяет Алгоритмы подписи, которые я установил, и позволяют TLS-связи go на непрерывной основе.

Это pcap-файл WireShark .

Почему OpenSSL не применяет установленную подпись алгоритмы? Мне удалось сделать это только с помощью SSL_CTX_get_security_level и установить его на 2, но не рекомендуется устанавливать его выше 1. Также я хотел бы получить более детальный контроль.

Спасибо за вашу помощь, Дэвид.

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