SSL Intermediate CA, используемый для создания и подписания сертификата клиента - PullRequest
0 голосов
/ 30 марта 2020

Итак, у меня есть самозаверяющий root CA, который я использовал для создания промежуточного CA, оба из которых хорошо выглядят и работают нормально. При попытке создать и подписать сертификат клиента я получаю сообщение об ошибке при открытии используемого закрытого ключа, но когда я проверяю, файл там, как и должно быть. Вот шаги, которые я предпринял для этого.

openssl genrsa -aes256 -out intermediate/private/controllers-ecc.key.pem 2048

chmod 400 intermediate/private/controllers-ecc.key.pem

openssl req -config intermediate/ssl_ca_devices.cnf \
    -key intermediate/private/controllers-ecc.key.pem -new -sha256 \
    -out intermediate/csr/controllers-ecc.csr.pem

openssl ca -config ./intermediate/ssl_ca_devices.cnf \
      -extensions server_cert -days 375 -notext -md sha256 \
      -in ./intermediate/csr/controllers-ecc.csr.pem \
      -out ./intermediate/certs/controllers-ecc.cert.pem

Эта последняя команда выдаст следующее:

Using configuration from ./intermediate/ssl_ca_devices.cnf
Error opening CA private key ~/Desktop/ca/intermediate/private/ca-devices-ecc.key.pem
140602185837312:error:02001002:system library:fopen:No such file or directory:bss_file.c:406:fopen('~/Desktop/ca/intermediate/private/ca-devices-ecc.key.pem','r')
140602185837312:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:408:
unable to load CA private key

Я могу буквально скопировать приведенную выше строку и открыть файл, который она ошибки при открытии:

cat ~/Desktop/ca/intermediate/private/ca-devices-ecc.key.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,CA927018408CCDD198827262EB52238A

dFa99Jgfr/ZUeJNWVWjE2lKBCfqJhJlmcqdy4U3hy6e3kkdG27JmKD1EY9uCj2OF
WJV8rat1oncASy+dIci8XT0LOoBQ9rK8nyK+bsm9M1n/5j1moNCyesAUfnjss8kE
DmfYjeJERBwVNgNNfK4dT0ejHRKt5r8PZsxWoURXkjyZ8vn3/4UHSkDTXScgHiML
Jkz7WGSNeXLR6BVgJuuFHht6283Vt8vnKq5gtQMdoEjFks7Da7EA96tEx9xUjHlC
VKGUGPoqcdfiwvfLjbsFBOhM29QBuoMDVyrEbC3cNdywDI39DZLYxCcVjzhzvQQw
Xz5R1YycR1eAS0M+qBMqUOvs/8PHlJCVRLqEJ5M/gYSeXmuKgqZPILfWr5R2vJEA
C3A9+gEWJC8RiyjxEv1gFwGEvgdChmVs30oaxPUjum3aTfVATrT071FP/V57dppw
5YgFA5SXvP15u3LQVYWDt8UOi3YU9zELoSomUZeIeYnKOnmt4CWzo0MKdwDkOrcQ
GoPRP3GB1HhRIrbtwTsBkChDLx+AbOBiI1QXEiEOEC+c0xwf6Ld/nqhpg5nQfypA
ydEjaI9NyG3whCW2LyLZr0gCFomB7CPO8vyvnxEvnJ2AETrczmbzAFmx2VLnzPE4
PWUatzm0tZXoP/8bommP0CqkWwedXhqiIitiCDIdpovynJlg+5ENa7jhFC6z57ty
WQbPkRIFMw+PZPU65hV7OfXVWMNm+rxbB3z5yDryc9lIzaZqVUKgBWjKi0JHF97X
3Fd3RA/t7jZW4oP4ZBP61woINnWZKAXK2DMWFGZ3gElgfFCmAaPr2YKWXzQmHSmS
-----END RSA PRIVATE KEY-----

Таким образом, мой вопрос заключается в том, является ли этот файл каким-то образом неправильно отформатированным или неверным, что может привести к этой ошибке? Или, возможно, я неправильно называю файл?

1 Ответ

0 голосов
/ 30 марта 2020
... fopen:No such file or directory:bss_file.c:406:fopen('~/Desktop/ca/intermediate/private/ca-devices-ecc.key.pem','r')

Путь ~/... не является реальным именем файла, но оболочка ~ расширяется до домашнего каталога пользователей. При использовании вне оболочки (как в файле конфигурации) этот ярлык обычно не поддерживается, т.е. вы должны указать фактический путь, например /home/whoever/.... Чтобы получить полный путь, вы можете использовать echo или аналогичный, например

$ echo ~/tmp
/home/whoever/tmp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...