Когда мы создаем ключ на шаге 1, это пара ключей или просто закрытый ключ?
applicant.key
содержит как публичные c, так и частные элементы. Их можно увидеть с помощью openssl rsa -text -nout -in applicant.key
или в более простой форме c с dumpasn1
или аналогичным.
При создании запроса на подпись сертификата на шаге 2 нам нужно публичный c ключ или закрытый ключ?
Оба. Вам нужен ключ publi c, так как он будет сертифицирован CA. Вам нужен закрытый ключ, когда вы подписываете CSR с этим, чтобы предоставить подтверждение владения ключом publi c.
Когда вы создаете сертификат из CA, зачем нам нужны оба закрытый ключ и сертификат CA?
Опять оба. Вам нужен закрытый ключ, чтобы подписать сертификат. Вам также нужен сертификат CA, чтобы CA мог извлечь из него информацию, используемую в процессе подписания.
Как минимум, это поле Subject сертификата CA, которое используется в качестве поля Issuer подписанного Certificate.
Другим примером является расширение AuthorityKeyIdentifier в сертификате CA, значение которого используется в качестве расширения SubjectKeyIdentfier в сертификате кандидата.
Однако CA могут свободно использовать все, что им нужно. Например, центры сертификации Microsoft будут проверять дату истечения срока действия сертификата центра сертификации и не будут выдавать заявителю сертификат, срок действия которого истекает после этой даты (он усекает срок действия сертификата). Для этого ему необходим доступ к сертификату CA.