8

JKJS

この一連の証明書があります: rcert.pem(自己署名) -->scert.pem -->ccert.pem

3 つの証明書はすべて私が生成したものです。どこでもインターネット接続は使用されません。これは完璧なオフライン作業です。以下は、いくつかのコマンドとその出力です。

hari@harikrishna:~/hari$ openssl verify rcert.pem
rcert.pem: C = IN, ST = OM, L = OM, O = HARI, OU = HARI, CN = OM, emailAddress = OM
error 18 at 0 depth lookup:self signed certificate
OK
hari@harikrishna:~/hari$ openssl verify -CAfile rcert.pem scert.pem
scert.pem: OK
hari@harikrishna:~/hari$ openssl verify -CAfile rcert.pem rcert.pem
rcert.pem: OK
hari@harikrishna:~/hari$ openssl verify -CAfile rcert.pem -untrusted scert.pem ccert.pem
ccert.pem: C = IN, ST = HARI, L = HARI, O = HARI, OU = HARI, CN = HARI, emailAddress = HARI
error 24 at 1 depth lookup:invalid CA certificate
OK

エラー 24 が作成されるのはなぜですか。それを削除するにはどうすればよいですか?それは信頼できるものですか、信頼できないものですか?

ありがとうございました。

4

1 に答える 1

22

JKJS

私自身の質問の答えを得ました:

1) 次のコマンドでルート CA 証明書を作成します。

openssl req -newkey rsa:1024 -sha1 -keyout rootkey.pem -out rootreq.pem

openssl x509 -req -in rootreq.pem -sha1 -signkey rootkey.pem -out rootcert.pem

2) 次のコマンドで CA 証明書を信頼できる証明書としてインストールしました。

sudo mkdir /usr/share/ca-certificates/extra

sudo cp rootcert.pem /usr/share/ca-certificates/extra/rootcert.crt

sudo dpkg-reconfigure ca-certificates

sudo update-ca-certificates

3) 次のコマンドで、ルート CA によって署名された中間証明書を作成しました。

openssl req -newkey rsa:1024 -sha1 -keyout skey.pem -out sreq.pem

sudo openssl x509 -req -in sreq.pem -sha1 -CA /etc/ssl/certs/rootcert.pem -CAkey rootkey.pem -CAcreateserial -out scert.pem

4) 次のコマンドで、中間 CA によって署名されたクライアント証明書を作成します。

openssl req -newkey rsa:1024 -sha1 -keyout ckey.pem -out creq.pem

openssl x509 -req -in creq.pem -sha1 -CA scert.pem -CAkey skey.pem -CAcreateserial -out ccert.pem

現在、Chain Of Trust は正常に動作しています。

1) ルート CA の検証

openssl verify rootcert.pem 
rootcert.pem: OK

2) 中間 CA の検証

openssl verify scert.pem 
scert.pem: OK

3)クライアント証明書の検証

openssl verify -CAfile scert.pem ccert.pem
ccert.pem: OK
于 2012-11-09T11:12:24.003 に答える