Authentication
無法使用 CA 根密鑰簽署 CSR
我正在嘗試實現相互證書身份驗證,我必須同時成為 CA 和伺服器,生成證書並為使用者簽名。我正在關注本教程,與網路上的複雜文章相比,這是一個非常簡單的教程,步驟是:
- 創建您自己的證書頒發機構的過程非常簡單:
1. 創建私鑰 2. 自簽 3. 在您的各種工作站上安裝根 CA // ????
- 完成此操作後,您通過 HTTPS 管理的每台設備只需通過以下步驟創建自己的證書:
1. 為設備創建 CSR 2. 使用根 CA 密鑰簽署 CSR /// 此步驟
創建根密鑰:
openssl genrsa -out rootCA.key 2048
自簽名此證書。
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
創建證書(每台設備完成一次):
openssl genrsa -out device.key 2048 openssl req -new -key device.key -out device.csr openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
最後一個命令給了我這個錯誤:
Signature ok subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108 Error opening CA Certificate root.pem 3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r') 3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357: unable to load certificate
root.pem 存在於同一個文件夾中,為什麼看不到它?
此外,前兩個命令給了我兩個文件,
root.key
並且root.pem
:沒有crt
文件可以給 browser 。怎麼了?
驗證您的證書的名稱。這是不一致的(
root.pem
在一個命令中,rootCA.pem
在另一個命令中)。
root.pem
您可以按照文章中的說明在您的客戶端主機上安裝該文件,它是您的 CA 證書。PEM
是證書的一種格式,還有其他的。.crt
是一個通用的擴展。如果需要,您可以將證書從 重命名root.pem
為root.crt
。