На самом деле я читаю о сертификатах и цепочках сертификатов. Я понимаю, что сертификат — это часть данных, которая подписана закрытым ключом объекта и может быть расшифрована только с использованием открытого ключа данного объекта (например, корневого ЦС).
Однако я наткнулся на несколько мест, где написано, что «сертификат подписывает другой сертификат» (пример: Microsoft Iot Edge: https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge -certs?view=iotedge-2018-06)
Я изо всех сил пытаюсь понять, что это означает технически. Что происходит, когда я «подписываю сертификат другим сертификатом»? Например, если я создам промежуточный сертификат и подпишу его сертификатом корневого ЦС, какой закрытый ключ будет использоваться? Является ли этот ключ частью сертификата корневого ЦС (не думаю)? Итак, какие закрытые / открытые ключи используются, если кто-то говорит «этот сертификат подписывает другой сертификат»?
Когда в тексте говорится о подписании сертификатом, на самом деле это означает подписание закрытым ключом, связанным с открытым ключом, хранящимся в сертификате. Однако последний довольно многословен, поэтому используется первый.
Итак, в вашем случае сертификат промежуточного ЦС подписывается закрытым ключом корневого ЦС. Этот закрытый ключ корневого ЦС был сгенерирован вместе с открытым ключом корневого ЦС при установке ЦС. Закрытый ключ хранится (крайне) закрытым, в то время как открытый ключ используется совместно в сертификате корневого ЦС.