ルートSSL証明書のインストール

ルートSSL証明書のインストール

ルート証明書とサーバー証明書を生成し、ルートとして署名しました。信頼できない接続に関する警告を削除するためにルート証明書をインストールするにはどうすればよいですか?アップデート、dpkgの再構成動作しません。 Kali Linux v.1.1.0でOpenSSL、Iceweaselブラウザを使用しています。

編集する

ステップ:ルートCAのキーを生成します。

dd if=/dev/random of=.rnd count=64 bs=32
openssl genrsa -rand .rnd -out org.key 2048

証明書要求を生成します。

openssl req  -new -key org.key -config org.cnf -out org.csr

そして:

org.cnf
[ req ] 
default_bits = 2048 
distinguished_name = req_distinguished_name 
extensions = v3_req 
x509_extensions = usr_cert 
[ req_distinguished_name ] 
countryName = US 
countryName_default = US 
stateOrProvinceName  = City
stateOrProvinceName_default = City
localityName = City
localityName_default = City 
organizationName = Company
organizationName_default = Company
organizationalUnitName = CA 
organizationalUnitName_default = CA 
commonName = CAuthority 
commonName_default = CAuthority 
emailAddress = [email protected]
emailAddress_default = [email protected]
[ v3_req ] 
basicConstraints = CA:TRUE 
nsComment = "CA certificate of PTI" 
nsCertType = sslCA 
[ usr_cert ]
# These extensions are added when 'ca' signs a request.
basicConstraints=critical,CA:TRUE

ルートCAを作成します。

openssl  x509 -req -signkey org.key -in org.csr -extfile org.cnf -out org.crt -days 1830

ルートの内容はこれがすべてです。これで、サーバー証明書を生成してApacheにインストールする必要があります。キー生成:

dd if=/dev/urandom of=.rnd count=64 bs=32;
openssl genrsa -rand .rnd -out httpd.key 2048; 

証明書要求を生成します。

openssl req  -new -key httpd.key -config httpd.cnf -out httpd.csr

そして:

httpd.cnf
[ req ] 
default_bits = 2048 
distinguished_name = req_distinguished_name 
extensions = v3_req 
x509_extensions = usr_cert 
[ req_distinguished_name ] 
countryName = country [US] 
countryName_default = US 
stateOrProvinceName  = province [City] 
stateOrProvinceName_default = City 
localityName = locality [City] 
localityName_default = City
organizationName = organization [Company] 
organizationName_default = Company
organizationalUnitName = OU_name 
organizationalUnitName_default = Webserver 
commonName = commonName 
commonName_default = "localhost" 
emailAddress = email 
emailAddress_default = [email protected]
[ v3_req ] 
basicConstraints = CA:false 
nsComment = "Apache Server Certificate" 
nsCertType = server
[ usr_cert ]
# These extensions are added when 'ca' signs a request.
basicConstraints=critical,CA:TRUE

結局私は署名した。httpd.csr次のコマンドを使用します。

openssl ca -notext -in httpd.csr -cert org.crt -keyfile org.key -out httpd.crt -md sha1 -days 90 -verbose;

それから私のインストールhttpd.crtそしてhttpd.keyApacheにアクセスしようとするとhttpsローカルホスト、「接続を信頼できません」と表示されます。次へ追加httpd.crtIceweasel当局には何の結果もなかった。それでも「信頼できない接続」です。

ベストアンサー1

CA:Trueに設定する必要がありますroot.crt

ブラウザでは、CA 以外の証明書をAuthoritiesリストに追加することができないため、エラー メッセージが表示されます。

次のコマンドを使用して、この拡張が証明書にあることを確認できます。

openssl x509 -noout -text -in root.crt

これにより、証明書のテキスト表現が印刷され、次の抜粋を検索できます。

X509v3 Basic Constraints: critical
    CA:TRUE

存在しない場合は、openssl構成ファイルを変更し、指定されたブロックに以下を追加する必要がありますx509_extensions

basicConstraints = critical, CA:TRUE

manx509v3_configopenssl.cnfすべての詳細が提供されますが、以下はFedora 23システム上のファイルの例です。

####################################################################
[ ca ]
default_ca  = CA_default        # The default ca section

####################################################################
[ CA_default ]

dir     = /etc/pki/CA       # Where everything is kept
certs       = $dir/certs        # Where the issued certs are kept
crl_dir     = $dir/crl      # Where the issued crl are kept
database    = $dir/index.txt    # database index file.
#unique_subject = no            # Set to 'no' to allow creation of
                    # several ctificates with same subject.
new_certs_dir   = $dir/newcerts     # default place for new certs.

certificate = $dir/cacert.pem   # The CA certificate
serial      = $dir/serial       # The current serial number
crlnumber   = $dir/crlnumber    # the current crl number
                    # must be commented out to leave a V1 CRL
crl     = $dir/crl.pem      # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE    = $dir/private/.rand    # private random number file

x509_extensions = usr_cert      # The extentions to add to the cert

これは、次の内容を含むx509_extensionsファイル名の下部セクションを指すことがわかります。usr_cert

[ usr_cert ]

# These extensions are added when 'ca' signs a request.

basicConstraints=CA:TRUE

名前はuser_cert単なる名前なので、証明書がCA証明書であるという事実は重要ではありません。 OCDがある場合は、usr_cert両方を変更できますCA_cert

上記を使用している構成ファイルに追加する必要があります。つまり、コマンド-configにオプションを追加しないと、ディストリビューションのデフォルトプロファイルが使用されます。opensslこれは通常OpenSSLのデフォルトディレクトリにあり、次のように見つけることができます。

openssl version -d

おすすめ記事