Postgresインスタンス用にこのファイルを作成しました。
-rw-r--r-- 1 root root 2733 Jun 8 20:37 server-cert.pem
-rw-r--r-- 1 root root 3322 Jun 8 20:37 server.csr
-rw------- 1 root root 1704 Jun 8 20:37 server-key.pem
証明書の有効期限が切れ、同じ秘密鍵とCSRを使用してタイトルを更新する必要があります。
動作しません。誰が助けることができますか?ありがとう
修正する エラーがあるようですが、CA証明書も更新する必要があります。
-rw-r--r-- 1 root root 2895 Jun 8 20:37 ca-cert.pem
-rw-r--r-- 1 root root 41 Jun 8 20:37 ca-cert.srl
-rw-r--r-- 1 root root 3350 Jun 8 20:37 ca.csr
-rw------- 1 root root 1704 Jun 8 20:37 ca-key.pem
-rw-r--r-- 1 root root 2733 Jun 8 20:37 client-cert.pem
-rw-r--r-- 1 root root 3322 Jun 8 20:37 client.csr
-rw------- 1 root root 1704 Jun 8 20:37 client-key.pem
-rw-r--r-- 1 root root 2733 Jun 8 20:37 server-cert.pem
-rw-r--r-- 1 root root 3322 Jun 8 20:37 server.csr
-rw------- 1 root root 1704 Jun 8 20:37 server-key.pem
root@SQLECOFIL1:~/cert_bkp# openssl x509 -CA server-cert.pem -CAkey server-key.pem -set_serial 256 -days 365 -in server-cert.pem -out new-server-cert.pem
Getting CA Private Key
/CN=pg-server
error with certificate - error 20 at depth 0
unable to get local issuer certificate
/CN=pg-server
error with certificate - error 21 at depth 0
unable to verify the first certificate
*アップデート2*
-rw-r--r-- 1 postgres postgres 993 Jun 10 20:52 new-server-cert.pem
-rw-r--r-- 1 postgres postgres 2733 Jun 8 18:36 server-cert.pem
-rw------- 1 postgres postgres 1704 Jun 8 18:36 server-key.pem
root@SQLECOFIL1:/etc/ssl/postgresql# openssl x509 -signkey server-key.pem -set_serial 256 -days 365 -in server-cert.pem -out new-server-cert.pem
Getting Private key
new-server-cert.pemファイルが検証されましたが、Postgresサーバーに接続できません(確認に失敗しました)。
答え1
現在(または期限切れの)証明書にキー使用制限がある場合は、CAとして新しい証明書に署名することはできません。代わりに、秘密鍵と元の証明書を使用して新しい自己署名証明書を生成できます。
openssl x509 -signkey server-key.pem -set_serial 256 -days 365 -in server-cert.pem -out new-server-cert.pem
キーを使用している場合certSign
(またはキーを使用しない場合)、次を使用して証明書とキーで署名することもできます。
openssl x509 -CA server-cert.pem -CAkey server-key.pem -set_serial 256 -days 365 -in server-cert.pem -out new-server-cert.pem
この2つの例では:
-days 365
新しい証明書の有効期間(この例では365日)を設定します。
新しいシリアル番号を設定してください-set_serial 256
(この場合は256)。
シーケンス番号を直接設定する別の方法は、OpenSSLがランダムなシーケンス番号を生成する-CAcreateserial
のではなく、OpenSSLを使用-set_serial <n>
してランダムなシーケンス番号を生成することです。
必要に応じて調整できますが、使用する必要があります。それ以外の場合は、シリアル番号がないか、0秒間有効な証明書が生成されます。