我錯過了用openssl命令簽署客戶端CSR的一些基本和明顯的內容。如何使用openssl簽署客戶的CSR?
我有(模擬)兩個組織,一個是認證機構的組織(存在於加利福尼亞州),另一個是在WA州的客戶組織。
我使用openssl命令在Linux系統上創建了證書頒發機構,遵循以下步驟。 http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php
我現在有兩個文件 1.包含CA私鑰的cakey.pem。這個私人也與密碼相關聯。 2. cacert.pem包含CA的自簽名證書
接下來,我想簽署客戶端的所有CSR。來自華盛頓州的客戶向我發送一個文件client-csr.pem。我正在閱讀關於最終簽署CSR和示例的手冊頁。 http://www.openssl.org/docs/apps/ca.html
我正在嘗試的命令和錯誤消息如下所示:我在CA系統上運行這些命令,創建了cakey.pem(CA的私鑰)和cacert.pem(CA's自簽名證書)
$ openssl ca -in demoCA/csrs/client-csr.pem -out client-cert.pem
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
The stateOrProvinceName field needed to be the same in the
CA certificate (California) and the request (WA)
的問題是,爲什麼要國家名稱是兩個CA證書和客戶CSR相同。
客戶端沒有在「加州」,所以當他們創造CSR,他們把自己的國家名稱(WA),作爲證書頒發機構,我已經證實客戶確實在西澳,並且CSR文件確實來自他們。我想簽署此CSR並將證書退還給客戶。
請檢查您的配置文件。這必須由配置強制執行,而不是由OpenSSL和X.509強制執行。 – doptimusprime