有了 private key 之後就可以作 CSR 了,
req 還是會去找 distinguished_name 這個設定, config file 的筆記在這裡
相關參數有
req
指令就是拿來產生 CSR 的, 使用時需要搭配 config file 一起使用, 即便給了滿滿的參數req 還是會去找 distinguished_name 這個設定, config file 的筆記在這裡
參數簡介
以下列出幾個製作 CSR 常用的參數-new
製作 CSR 一定要加的參數, req 指令除了產生 CSR, 也能檢視 CSR, 下了 -new 代表要產生 CSR
-key filename
設定製作 CSR 時用的 key, 若沒加入這個參數會產生一把新的 key, 可搭配 -newkey arg
用來產生 CSR+private key, 相當於有 -new 沒 -key 的作用, 只是多了設定 private key 格式的功能, 雖然支援多種格式 但我只用過 rsa, 語法為 -keyout filename
設定產生的 private key 路徑, 沒設的話會用 config file 的設定 (req section 的 default_keyfile)
-nodes
若 private key 不加密可加入此參數 -config filename
設定使用的 config file
-subj arg
設定 subject, 格式為 /type0=value0/type1=value1/type2=...
-keyform
設定格式
rsa:nbits
與 key 相關的指令要小心處理, 否則 key 可能會被複寫, 這個指令遇到已存在的檔案不會詢問, 直接覆蓋掉
相關參數有
-x509
製作 CSR 時補上這個參數就會直接輸出 self signed certificate, 而不是 CSR
-days n
設定 certificate 有效時間, 開始時間為目前系統時間
-extensions section
製作 certificate 用的 extension 欄位設定值
使用範例
- 無 prompt, 產生 private key + CSR, 適合用外部程式編輯好 config file 執行 製作 config file,demo.conf
- 有 prompt, 產生 CSR, 適合手動敲指令, 先編好通用的 config file,執行時再動態變更設定 製作 config file,demo2.conf
[ req ] default_keyfile = privkey.pem prompt = no distinguished_name = req_1 [req_1] C =TW O= ABC OU = 1234 CN = TEST Certificate再用以下指令即可
openssl req -new -config demo.conf -nodes -out csr.pem
[ req ] default_keyfile = privkey.pem #prompt = no distinguished_name = req_1 [req_1] C = Country Name (2 letter code) C_default=TW C_min=2 C_max=2 O = Organization Name (eg, company) O_default = ABCD O_max=64 OU = Organizational Unit Name (eg, section) OU_default = 5566 CN = Common Name (e.g. server FQDN or YOUR name) CN_default = 5978再用以下指令即可
openssl req -new -config demo2.conf -key privkey.pem -out csr2.pem執行結果為
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [TW]: Organization Name (eg, company) [ABCD]: Organizational Unit Name (eg, section) [5566]: Common Name (e.g. server FQDN or YOUR name) [5978]:
沒有留言:
張貼留言