Сертификат и секретный ключ для импорта должны быть представлены в виде сертификата X.509 в кодировке PEM или DER и секретного ключа. Кроме того, перед подписыванием пакета необходимо выполнить импорт всех промежуточных сертификатов или их цепочек, связывающих подписанные сертификаты с центром сертификации.
Каждый центр сертификации может издавать сертификаты в различных форматах. Чтобы извлечь сертификаты и секретные ключи из файла PKCS12 и вставить в файл X.509, зашифрованный с помощью алгоритма PEM (который можно импортировать в хранилище ключей пакета), воспользуйтесь таким бесплатным средством преобразования, как OpenSSL.
Если секретный ключ зашифрован (как обычно и должно быть), выдается запрос на ввод пароля. Кроме того, выдается запрос на ввод пароля для защиты хранилища ключей пакета, которое будет получено в результате. Пароль можно не указывать, однако при этом хранилище ключей пакета зашифровано не будет.
В следующей процедуре описывается способ импорта сертификата с помощью команды pkgadm после того, как сертификат будет в нужном формате.
Выполните импорт всех сертификатов центра сертификации, которые находятся в файле сертификата X.509 с кодировкой PEM или DER.
Например, для импорта всех сертификатов центра сертификации, которые находятся в файле ca.pem, необходимо ввести следующую команду:
$ pkgadm addcert -k ~/mykeystore -ty ca.pem |
В результате должно получиться следующее:
Trusting certificate <VeriSign Class 1 CA Individual \ Subscriber-Persona Not Validated> Trusting certificate </C=US/O=VeriSign, Inc./OU=Class 1 Public \ Primary Certification Authority Type a Keystore protection Password. Press ENTER for no protection password (not recommended): For Verification: Type a Keystore protection Password. Press ENTER for no protection password (not recommended): Certificate(s) from <ca.pem> are now trusted |
Чтобы импортировать ключ подписи в хранилище ключей пакета, необходимо указать псевдоним, который будет использоваться позднее при подписании пакета. Этот псевдоним также можно использовать в случае, если необходимо удалить ключ из хранилища ключей пакета.
Например, чтобы импортировать ключ подписи из файла sign.pem, необходимо ввести следующее:
$ pkgadm addcert -k ~/mykeystore -n mycert sign.pem |
В результате должно получиться следующее:
Enter PEM passphrase: Enter Keystore Password: Successfully added Certificate <sign.pem> with alias <mycert> |
Убедитесь, что сертификат импортирован в хранилище ключей пакета.
Например, чтобы просмотреть сертификаты в хранилище ключей, созданном в ходе предыдущего действия, введите следующее:
$ pkgadm listcert -k ~/mykeystore |