Вы правы до момента создания КСО.Вы будете использовать что-то вроде этого:
$ keytool -certreq -alias myalias -file myalias.csr -keystore keystore
для создания CSR, который содержит:
- ваш открытый ключ (извлеченный из самоподписанного сертификата)
- Отличительное имя (т. Е. Название организации, для которой запрашивается сертификат)
и подписано вашим личным ключом.CA затем генерирует новый сертификат с:
- subject = ваш DN (либо из CSR, либо автоматически сгенерированный с использованием данных, которые вы указали в процессе подачи заявки)
- эмитент = CADN
- открытый ключ = из CSR
, который необходимо импортировать обратно в хранилище ключей, заменяя исходный самозаверяющий сертификат:
$ keytool -import -alias myalias -keystore keystore -file myalias.crt
Часто ЦС подписывают ваш новый сертификат с использованием промежуточного сертификата, который в свою очередь подписан доверенным корнем;в этом случае вы должны импортировать промежуточный сертификат перед вашим собственным:
$ keytool -import -trustcacerts -alias intermediate -file intermediate.crt -keystore keystore
Редактировать: этот непонятный раздел из документации keytool удивительно ясен (где говорится о «цепочке» сертификатов)это относится только к промежуточным сертификатам, которые связывают ваш сертификат с корнем):
keytool может создавать и управлять записями «ключа» хранилища ключей, каждый из которых содержит закрытый ключ и связанную цепочку сертификатов.Первый сертификат в цепочке содержит открытый ключ, соответствующий закрытому ключу.
Когда ключи генерируются впервые (см. Подкоманду -genkey), цепочка начинается с одного элемента, самозаверяющего сертификата.Самозаверяющий сертификат - это сертификат, для которого эмитент (подписывающее лицо) совпадает с субъектом (субъектом, открытый ключ которого аутентифицируется сертификатом).Всякий раз, когда подкоманда -genkey вызывается для создания новой пары открытого / закрытого ключа, она также оборачивает открытый ключ в самоподписанный сертификат.
Позже, после того как был сгенерирован запрос на подпись сертификата (CSR) (см. подкоманду -certreq) и отправлено в центр сертификации (ЦС), ответ ЦС импортируется (см. -импорт), а самозаверяющий сертификат заменяется цепочкой сертификатов.В нижней части цепочки находится сертификат (ответ), выданный ЦС, аутентифицирующий открытый ключ субъекта.Следующим сертификатом в цепочке является тот, который аутентифицирует открытый ключ CA.