Что именно происходит когда ЦС подписывает своим закрытом ключом сертификат

Что именно он делает, что шифрует своим закрытом ключом? сам сертификат? или же хэш этого сертификата?


Ответы (1 шт):

Автор решения: Pak Uula

RFC 5280, параграф 4.1.1.3:

The signatureValue field contains a digital signature computed upon the ASN.1 DER encoded tbsCertificate. The ASN.1 DER encoded tbsCertificate is used as the input to the signature function. This signature value is encoded as a BIT STRING and included in the signature field. The details of this process are specified for each of the algorithms listed in [RFC3279], [RFC4055], and [RFC4491].

Если по-русски, то:

  • Сертификат - это структура данных на языке ASN.1
    • Для ASN.1 определены несколько правил кодирования. Одно из этих правил называется DER
  • Для сертификата строится массив байтов в соответствии с правилами DER.
  • Этот массив байтов скармливается алгоритму подписи.
    • Что именно делает с этими байтами алгоритм - зависит от алгоритма.
  • Результат работы алгоритма и есть цифровая подпись сертификата

Алгоритмов придумано великое множество, но все, что я видел в реальной жизни, устроены одинаково: сначала вычисляется хэш байтовой строки, затем этот хэш подписывается или шифруется приватным ключом удостоверяющего центра.

Примеры: sha-1WithRSAEncryption, ecdsa-with-SHA1, GostR3411-94-with-GostR3410-2001 и т.д.

→ Ссылка