我後來找到了一個網站 https://www.headdesk.me/IBM_HTTP_server
參考了裡面的作法,後來終於成功把pem匯入的kdb了
整理做法如下:
首先,在D32/用certbot申請letsencrypt免費SSL憑證 之後,將取得的憑證以openssl匯出成.p12
openssl pkcs12 -export -in /tmp/fullchain1.pem -inkey /tmp/privkey1.pem -name /tmp/2022iron30.tk -out 2022iron30.tk.p12
接著,先砍掉舊的kdb
rm /opt/IBM/HTTPServer/cert/test.*
建立一個新的kdb
gskcmd -keydb -create -stash -db /opt/IBM/HTTPServer/cert/test.kdb -pw changeit -type cms
匯入p12憑證
gskcapicmd -cert -import -type p12 -file /tmp/22022iron30.tk.p12 -target /opt/IBM/HTTPServer/cert/test.kdb -target_pw changeit
將我的2022iron30.tk憑證設為預設的個人憑證
gskcapicmd -cert -setdefault -db /opt/IBM/HTTPServer/cert/test.kdb -pw changeit -label 2022iron30.tk
接著,來到letsencrypt官網 https://letsencrypt.org/zh-tw/certificates/
右鍵下載root憑證,然後將它放到/tmp目錄
把root憑證加入到kdb裡面
gskcapicmd -cert -add -file isrgrootx1.pem -trust enable -label rootca -db /opt/IBM/HTTPServer/cert/test.kdb -pw changeit
這時列出kdb內含的憑證,
gskcapicmd -cert -list -db /opt/IBM/HTTPServer/cert/test.kdb -stashed
應該會是如下:
此時,驗證憑證會回應ok
gskcapicmd -cert -validate -db /opt/IBM/HTTPServer/cert/test.kdb -stashed -label 2022iron30.tk
重啟IHS,重新讀取kdb後,網站可以成功透過https使用新憑證連線了!