1

Мне нужна информация, относящаяся к сертификатам ECDSA. Насколько я знаю, сертификат ECDSA должен содержать подпись ECDSA, но я вижу, что сертификаты facebook и google server имеют сертификаты ECDSA с подписью RSA. Возможно ли иметь сертификаты ECDSA с сигнатурами RSA?Могут ли сертификаты ECDSA иметь подпись RSA?

+0

ECDSA и RSA несовместимы, поэтому я нахожу * «Я вижу, что сертификаты facebook и google server имеют сертификаты ECDSA с сигнатурой RSA» *. Пожалуйста, покажите, что вы видите. Кроме того, это не вопрос программирования и может быть лучше подходит для [security.se]. –

+0

Я захватил пакеты, и я вижу, что facebook выбирает шифр ECDHE_ECDSA, который означает, что он хочет получить аутентификацию по сертификату ECDSA и отправит Cetificate ECDSA, следуя за o/p захвата пакета ... –

+0

Алгоритм подписи: sha256WithRSAEncryption aa : 91: ae: 52: 01: 8c: 60: f6: 02: b6: 94: eb: af: 6e: eb: dd: 3c: c8: e1: 6f: 17: ab: b8: 28: 80: ec: dc: 54: 82: 56: 24: c1: 16: 08: e1: c2: –

ответ

3

Подпись для сертификата создается эмитентом с использованием ключа эмитента. Таким образом, если сертификат A содержит ключ ECC внутри (то есть сертификат ECDSA), но у эмитента B есть ключ RSA, тогда подпись для A будет сигнатурой RSA, потому что это то, что эмитент имеет для подписания.

Например, в случае facebook.com сам сертификат имеет ключ ECC, но сертификат эмитентов DigiCert SHA2 CA с высоким уровнем достоверности имеет ключ RSA. Поскольку подпись для сертификата facebook выполняется эмитентом с ключом эмитентов, он также должен использовать RSA.

+0

Большое спасибо за ваш ответ. –

+0

Мой вопрос здесь, если сертификат подписан ключами RSA, тогда он будет на основе RSA аутентификации сервера клиентом, а не ECDSA ... тогда шифр должен быть похож на ECDHE_RSA, а не ECDHE_ECDSA .. –

+0

Ниже приведена выдержка из RFC-4492 .. которая ожидает подписи в ECDSA при выборе ECDHE_ECDSA ... –

0

Ответ Штеффена верен для стандарта X.509 и многих браузеров , которые основаны на стандартных библиотеках SSL, поддерживают этот случай. Однако в этом суровом реальном мире я обнаружил, что некоторые устройства отказываются от сертификата ECDSA, который имеет подписи RSA, с переговорами TLS 1.2.

Я думаю, что причина в том, что авторы устройств следовали RFC-4492, (** мой)

2.2. ECDHE_ECDSA 
In ECDHE_ECDSA, the server's certificate **MUST** contain an ECDSA- 
capable public key and **be signed with ECDSA.** 

The server sends its ephemeral ECDH public key and a specification of 
the corresponding curve in the ServerKeyExchange message. These 
parameters MUST be signed with ECDSA using the private key 
corresponding to the public key in the server's Certificate. 

хотя RFC-5246, TLS1.2, ослабил это ограничение. (** является моим):

7.4.4. Certificate Request 
... 
If the client provided a "signature_algorithms" extension, then all 
certificates provided by the server MUST be signed by a 
hash/signature algorithm pair that appears in that extension. **Note 
that this implies that a certificate containing a key for one 
signature algorithm MAY be signed using a different signature 
algorithm (for instance, an RSA key signed with a DSA key). This is 
a departure from TLS 1.1, which required that the algorithms be the 
same.** Note that this also implies that the DH_DSS, DH_RSA, 
ECDH_ECDSA, and ECDH_RSA key exchange algorithms do not restrict the 
algorithm used to sign the certificate. Fixed DH certificates MAY be 
signed with any hash/signature algorithm pair appearing in the 
extension. The names DH_DSS, DH_RSA, ECDH_ECDSA, and ECDH_RSA are 
historical. 

Следует помнить, что такое устройство существует.

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

  • Нет связанных вопросов^_^