Openssl
使用在 openssl 中創建的證書頒發機構簽署證書請求
我使用以下命令在 Ubuntu 中創建了一個證書頒發機構:
openssl req -config /etc/ssl/openssl.cnf -new -x509 -keyout ck.pem -out cacert.pem -days 365
然後我使用以下命令創建了一個證書請求:
openssl req -out C.csr -new -newkey rsa:2048 -nodes -keyout c_p.key
我想使用我創建的證書頒發機構簽署此請求。為此,我執行了:
openssl ca -config /etc/ssl/openssl.cnf -policy optional -out C.crt -infiles C.csr
但我得到了錯誤:
Using configuration from /etc/ssl/openssl.cnf unable to load CA private key 140189274035872:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
我怎樣才能擺脫這個錯誤?這個命令會使用我上面定義的權限還是系統中的一些預設權限?
編輯:
為了完整起見,我留下了我必須做的步驟:
- 創建相關文件:
mkdir demoCA mkdir ./demoCA/newcerts touch ./demoCA/index.txt
還要在 demoCA 中創建一個“串列”文件,其中包含 01 和末尾的換行符。
- 證明:
openssl ca -config /etc/ssl/openssl.cnf -cert cacert.pem -keyfile ck.pem -out C.crt -infiles C.csr
您已使用第一個命令創建了一個新的密鑰對。您現在需要將這些資訊告知 OpenSSL CA。
編輯
/etc/ssl/openssl.cnf
並確保private_key
andcertificate
行指向新的私鑰和證書文件位置,或者使用命令的-cert
and-keyfile
參數openssl ca
覆蓋/etc/ssl/openssl.cnf
.