2019年6月6日-OpenSSLの自己署名SSL証明書と証明書チェーンの生産を生成します

OpenSSLのSSLは、SSL / TLSプロトコルの実装をサポートするツールの一般的な、堅牢で、フル機能を備えたスイートを提供し、最も人気のあるパスワードデータベースツールです。

以下は、公式の実験的なテスト生成プロセスであり、基本的な証明書を生成するプロセス全体をシミュレートします。

サーバとクライアントのための最初のステップは、プライベート、パブリックに準備ができています

サーバーの秘密鍵の生成
コマンドを:

openssl genrsa -out server_pri.key 1024

//サーバの公開鍵を生成し、

コマンド:

openssl rsa -in server_pri.key -pubout -out server_pub.pem

第二のステップは、CA証明書を生成します

// CA秘密鍵生成
コマンドを:
openssl genrsa -out ca.key 1024

コマンド:
openssl req -new -key ca.key -out ca.csr

//データ・インタフェースに必要事項を記入し、一般名この1は、アクセスすることができる最後のドメインである
コマンドは:

openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

サーバー証明書を生成する第3ステップ

//サーバーは、まだ自分のCSRの文書を作成し適用する前に、証明書に署名し、CA署名付き証明書に適用する必要がある
コマンドを:

openssl req -new -key server_pri.key -out server.csr

//自分のCA証明書、証明書とCAに参加するために必要な秘密鍵署名プロセスに適用され、最終的にはCA署名付きで証明書を発行する機関
のコマンドを実行します。

openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

同じ情報が入力されます、まだのように書いています

第四の工程は、CERファイルを生成することです

//変換するために、OpenSSLを使用し
たコマンドを:

openssl x509 -in server.crt -out server.cer -outform der

完了した場合、それはそう9ファイルを取得します

サーバnginxのに第五の構成ステップ

server {
    listen 80;
    server_name www.cc.com;
    rewrite ^(.*)$ https://www.bb.com $1 permanent; 
}
server {
    listen 80;
    server_name www.bb.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent; 
}
server {
    listen 443;
    server_name www.test.com;
    ssl on;
    ssl_certificate /data/csr/server.crt;
    ssl_certificate_key /data/csr/server_pri.key;
    location / {
        root /data/bb;
        index  index.html index.htm;
    }
}

この問題を解決するための証明書チェーン

証明書チェーンリンクは、任意の長さを持つことができ、その鎖の3つの中で、リンクは、中間証明書のアンカーCA証明書の署名を信頼することができ、中間証明書の所有者が別の証明書の署名に自分の秘密鍵を使用することができます。証明書パスAPIは、これらの有効性はまた、信頼の連鎖を構築するために使用することができることを確認するために証明書チェーンを横断するために使用することができます。

Webブラウザが自動的に信頼して、ルートCA証明書ブラウザのセットで事前に設定されています。他の認証局からのすべての証明書は、これらの証明書の有効性をテストするために証明書チェーンを添付しなければなりません。証明書チェーンは、連続したCA証明書、最終的にはルートCA証明書のシーケンスによって発行された証明書です。

我々は通常、証明書の3種類がありますRootCA.crt(RCA、信頼されたルート証明書)、IntermediateCA.crt(MCA、一部のベンダーは、複数の中間証明書を持っている)、をserver.crt(SCAを、証明書にCSRが署名しました)

ブラウザは私たちの証明書を信頼するためには、サーバが提供する必要はありません、我々は完全な証明書チェーン、証明書チェーンを構成する必要があるとMCAは、SCAのような、RCAブラウザが内蔵されて構成されています。

nginxの設定証明書チェーン証明書は、当社の証明書チェーン全体、合併時の証明書のようなすべての証明書を含むファイルを指定するときに、正しい方法は、MCAがでSCAにマージマージすることです。下部から上部(最上部のルート証明書)に複数のファイルMCA、MCAが存在する場合に、順次、SCAに組み込まれます。

-----BEGIN CERTIFICATE-----
...... sCA ......
------END CERTIFICATE------
-----BEGIN CERTIFICATE-----
...... mCA (lower) ......
------END CERTIFICATE------
-----BEGIN CERTIFICATE-----
...... mCA (upper) ......
------END CERTIFICATE------
-----BEGIN CERTIFICATE-----
[ROOT CERTIFICATE]
-----END CERTIFICATE-----

ます。https://www.jianshu.com/p/ca82b03d7d54で再現

おすすめ

転載: blog.csdn.net/weixin_34008933/article/details/91140948