2014-12-18 4 views
1

Используя новую утилиту kyrtool, я пытался создать брелок и импортировать в него конкретный сертификат домена.Импорт сертификата в брелок

Сертификат выдан RapidSSL. Это сертификат SHA2 для «* .domain.tld».

Прежде всего я создал новый файл брелоков:

kyrtool create -k C:\path\keyring.kyr -p password 

Тогда я превращал свой сертификат PFX в PEM в opnessl:

openssl pkcs12 -in certificate.pfx -out certificate.pem 

Затем я попытался импорт мой PEM в новый брелока:

kyrtool import all -i certificate.pem -k C:\path\keyring.kyr -v 

И ошибка произошла:

Using keyring path 'C:\path\keyring.kyr' 
No private key found in the input file 
ReadPEMPrivateKey returned error 0x0495 
Invalid arguments 

Мой сертификат PEM содержит оба ----- BEGIN RSA ЧАСТНЫЙ КЛЮЧ ----- и ----- BEGIN CERTIFICATE ----- блоки.

Любая идея? Спасибо, JiKra

+0

Предлагаю сначала проверить ваш входной файл с помощью команды «Проверить»: 'kyrtool verify certificate.pem'. Это, скорее всего, скажет вам, что не так. –

ответ

2

Хорошо, проблема была в неправильном порядке в цепочке сертификатов в файле PEM. Перед сертификатом эмитента был установлен глобальный сертификат CA (GeoTrust CA) (RapidSSL 256 - G3).

Мы решили проблему, разделив весь сертификат на четыре отдельных файла PEM и импортировав их в правильном порядке.

kyrtool import keys 
kyrtool import certs 
kyrtool import roots ...global 
kyrtool import roots ...intemediate 

JiKra

РЕДАКТИРОВАТЬ 1:

Как мы поняли, главная проблема может быть с промежуточным сертификатом RapidSSL 256 G3, где не было никаких набивочные в конце. Этот сертификат заканчивается ровно с 7-битным контентом:

-----BEGIN CERTIFICATE----- 
MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYT 
AlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVz 
dCBHbG9iYWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBH 
MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UE 
AxMXUmFwaWRTU0wgU0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUA 
A4IBDwAwggEKAoIBAQCvVJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBd 
mJyNkA+8EGVf2prWRHzAn7XpSowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9E 
X9zHFLYDn4ZLDqP/oIACg8PTH2lS1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4K 
jxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQDAP8m/0Ip4yM26eO8R5j3LMBL3+v 
V8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AMQriYrRmIV9cE7Ie/fodOoyH5 
U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkpYEj4/5G8V1jlNS67abZZ 
AgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrM 
TjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYDVR0TAQH/BAgw 
BgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCigJoYkaHR0 
cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUFBwEB 
BCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF 
MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdl 
b3RydXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCj 
WB7GQzKsrC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/C 
J8cW8fuTgZCpfO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5Uz 
CHuTcSJCs6nZb0+BkvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5h 
o452nFnPjJSxhJf3GrkHuLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq 
7A6rvz17OQV79PP7GqHQyH5OZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWm 
My66S6VdU5oNMOGNX2Esr8zvsJmhgP8L8mJMcCaY 
-----END CERTIFICATE----- 
+0

То, что я имел в виду под «проверкой»: эта команда сказала бы вам, что эмитенты не совпадают/порядок был неправильным ... –

+0

Да, но прежде всего мне нужно было проверить, что означает разделитель AVA. :-) – JiKra

Смежные вопросы