用于创建和签署客户端证书的SSL中间CA
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于创建和签署客户端证书的SSL中间CA相关的知识,希望对你有一定的参考价值。
因此,我有一个自签名的根CA,我用它来创建一个中间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-----
所以我的问题是,该文件是某种格式错误还是无效,从而导致此错误?还是我不正确地调用文件?
答案
... fopen:No such file or directory:bss_file.c:406:fopen('~/Desktop/ca/intermediate/private/ca-devices-ecc.key.pem','r')
路径~/...
不是真实的文件名,但是~
被外壳扩展到用户的主目录。如果在外壳程序外部使用(例如在配置文件中),则通常不支持此快捷方式,即您必须指定实际路径,例如/home/whoever/...
。
以上是关于用于创建和签署客户端证书的SSL中间CA的主要内容,如果未能解决你的问题,请参考以下文章