Openssl

Strongswan PKI - ED25519 證書 - OCSP 響應者有問題

  • April 24, 2018

我正在嘗試為 strongswan PKI 生成的證書設置 ocsp - 將其用作 CA。如果我嘗試使用 openssl 它只會拋出 Can't open index.txt.attr for reading, No such file or directory 嘗試重新執行證書行。還是不行。我只是碰壁,需要一些新的眼光。

  1. 有沒有辦法讓strongswan部署?

如果是 - 1a。如何?找不到任何關於它的文件。如果沒有 - 1b。我在使用 OpenSSL 的正確道路上嗎?

  1. 如何修復此錯誤消息 - 使用 strongswan - 我似乎無法生成 index.txt

這也是我用來嘗試執行的命令 -openssl ocsp -index index.txt -CA ca.crt.pem -port 43450 -rkey ocsp.key.pem -rsigner ocsp.issuecrt.pem -resp_no_certs -nmin 60 -text

以前,我為 ed25519 和 X25519 算法兼容性設置了 2018 年 4 月的 OpenSSL。在意識到我無法讓 crl 工作之前。然後開始為 pki 和 CA 組件部署 strongswan(通過原始碼手動安裝完整的 strongswan,配置,make,make test,make install - 根據需要安裝依賴項。這行得通,我的 crl 工作了,但現在我可以了沒有得到 ocsp,我在 2-3 週的大部分時間裡一直在努力解決這個問題,我覺得我只是厚實和 PEBKAC 使用者。希望你們能提供幫助。如果你需要任何進一步的資訊請求,我將編輯並提供。

如果您使用 strongSwan 的pki 工具來創建您的 CA,那麼 OpenSSL 的 OCSP 伺服器將不需要任何 index.txt 文件。OpenSSL 在通過openssl ca. 因此,如果您想將 OCSP 伺服器與不是使用該工具創建的證書一起使用,則必須手動創建該文件。

幸運的是,index.txt 文件是簡單的文本文件,可以根據需要輕鬆創建。這些文件包含每個證書的以下資訊,每行一個,每個欄位由選項卡分隔:

  1. 狀態:是“V”(有效)、“R”(已撤銷)或“E”(已過期)
  2. UTC 中的到期日期/時間(格式為YYMMDDHHMMSSZ
  3. 撤銷日期/時間(與上述格式相同,有效或過期證書為空)和可選原因(逗號分隔,例如“取代”或“keyCompromise”)
  4. 證書的十六進制序列號
  5. 證書的文件名(OpenSSL 似乎沒有使用它並將其設置為“未知”),也可能為空
  6. 證書的主題 DN(斜杠分隔 RDN),可選

如果您有一個有效的證書,您可以使用以下 bash 腳本為 index.txt 文件生成一個條目(將 PEM 編碼證書的路徑作為腳本的第一個參數傳遞):

#!/bin/bash

crt=$1
exp=$(date -d "$(openssl x509 -enddate -noout -in $crt | cut -d= -f 2)" +"%y%m%d%H%M%SZ")
ser=$(openssl x509 -serial -noout -in $crt | cut -d= -f 2)
sub=$(openssl x509 -subject -noout -in $crt | cut -d= -f 2- | cut -d' ' -f 2-)
echo -e "V\t$exp\t\t$ser\tunknown\t$sub"

要撤銷證書,您可以手動更改VtoR並在第三列中添加日期和(可選)原因,例如使用 生成$(date +"%y%m%d%H%M%SZ,keyCompromise")。從理論上講,您也可以使用openssl ca它(也可以openssl ca updatedb用於標記過期證書),但這需要設置適當的配置文件。如果您一開始就不想使用 OpenSSL 管理您的 CA,那麼這可能是矯枉過正。

另請注意,與 CRL 相比,您必須列出文件中的所有證書,因為openssl ocsp如果找不到證書序列號的有效條目,則不會回复狀態“好”。

引用自:https://serverfault.com/questions/909124