(1).CA認定
CAは、主な目的は、デジタル証明書を発行するユーザーのためにある、通常は認証機関や認証センターとして翻訳、認証局の略です。認証局(CA)機能:証明書発行、証明書の更新、証明書の失効、および証明書の検証。CA証明書の役割:達成するために、データの認証、否認防止。
CSRはCerificate署名リクエストの中国名立って証明書要求ファイル、CSP(暗号化サービスプロバイダ)によって証明書の申請限り、デジタル証明書、証明書の申請を申請する際に、秘密鍵を生成しながらも、証明書要求ファイルを生成するなどCSRへの提出書類秘密鍵署名は、認証局の後、証明書ファイルのそのルート証明書を使用して認証局は、ユーザーに証明書を発行することである、生成されます。
証明書署名プロセス:1、サーバーが証明書要求ファイルを生成します; 2.認証センター申請者の身元の信憑性を確認した; 3、ルート証明書を使用して、秘密鍵暗号認定中等学校の証明書要求ファイルを、証明書を生成する; 4は、証明書申請者に合格しました。
アリ雲:無料のCA証明書を選択することができ依頼https://www.aliyun.com/product/cas?spm=5176.10695662.1171680.1.58564c0dMNos55を、またはFreeSSL https://freessl.cn/
1)実験環境
youxi1 192.168.5.101 CA認証センター
youxi2 192.168.5.102サーバー
2)そこには本当のドメイン名ではありませんので、彼は本当の十分な長さのために適用するためにCA証明書センターを設置しているので。
[youxi1ルート@〜]# `RPM -qf openssl` のOpenSSL OpenSSLの-1.0.2k一般12.el7.x86_64 //デフォルトのインストール [ルート@のyouxi1〜]#のVimの /etc/pki/tls/openssl.cnf basicConstraintsの= CA:TRUE //ライン172、現在のサーバはCA証明書センターとなるように、 [ルート@ youxi1〜]#/など/ PKI / TLS /その他/ CAの-newca // 新しいキャッシュ証明書 CA証明書のファイル名(またはに入力してください)//証明書ファイル名を作成するには、直接入力することができます CA証明書を作る... 2048ビットのRSA秘密鍵を生成する ......................... ....... +++ ............................. +++ ........................... /etc/pki/CA/private/./cakey.pem」に新しい新しい秘密鍵を書きます「 PEMパスフレーズを入力します://秘密鍵のパスワード123456を守る の確認が-入力PEMフレーズパス://繰り返しパスワード123456 ----- あなたは組み込まれます情報を入力するように要求されようとしている 証明書要求にを。 あなたが入ろうとしていることは、識別名またはDNと呼ばれるものです。 そこかなりの数のフィールドがありますが、あなたには、いくつかの空白のままにしておくことができ 、デフォルトの値になりますが、いくつかのフィールドで ユーザーが入力した場合は「」、フィールドを空白のままになります。 ----- 国名(2文字コード)[XX]:CN //国家、只能2个字符 都道府県名(フルネーム)[]:北京//地区 地域名(例えば、都市)[デフォルト市]:海淀//城市 組織名(例えば、会社)[デフォルトの企業株式会社]:テスト//组织名称、公司 組織単位名(例えば、セクション)[]:IT //部门 共通名(例えば、自分の名前や、サーバーのホスト名)[]:test.cn //通用名、名字或服务器主机名等 メールアドレス[]:[email protected] //邮箱 以下「エクストラ」属性で入力してください 余分なプロパティを追加します。//送信された証明書要求と一緒にあなたのクライアントはパスワードを入力するCA証明書要求ファイルを送信する際に チャレンジパスワードは[]:直接入力します// //入力:オプションの会社名、[]を /etc/pki/tls/openssl.cnfからの設定を使用して// CAサーバーの設定ファイルは、上記の設定ファイルに追加されるの内容を変更する /etc/pki/CA/private/./cakey.pemためにパスフレーズを入力します。//は秘密鍵のパスワードを入力し、123456を 確認することを要求で署名ザ・は一致する 署名OK 証明書に詳細を: シリアル番号: AF:E0:DD:CA:39:32:8E:56は 有効期限 はありません前:15 - 2019年8月午前7時30分27秒GMT ない後:8月14日午前七時30分27秒2022 GMT 件名: COUNTRYNAME CN = stateOrProvinceName =北京 organizationNameの=テスト organizationalUnitName = IT のcommonName = test.cn EMAILADDRESS = [email protected] 書X509v3拡張子: 書X509v3件名キー識別子: 08:F1:6F:02:F1 :A0:BD:71:1E:DF:F5:D1:F3:7B:40:05:3A:02:B5:7C 書X509v3機関キー識別子: 鍵ID:08:F1:6F:02:F1:A0:BD :71:1E:DF:F5:D1:F3:7B:40:05:3A:02:B5:7C 書X509v3 Basicの制約: CA:TRUE 証明書は、8月14日午前7時30分27秒2022 GMT(1095日)まで認定される 1つの新しいエントリをデータベースに書き出します データベースの更新//搭建完成 [ルート@のyouxi1〜]#猫/etc/pki/CA/cacert.pem :証明書 データ: バージョン: 3(0x2の) シリアル番号: AF:E0ます。dd:カリフォルニア州:32:39 8E:56 署名アルゴリズム:sha256WithRSAEncryption 発行者:C = CN、ST =北京、O =テストOUはそれを= CN = test.cn / [email protected] // CA机构信息の 妥当性 はない前:8月15日午前7時30分27秒2019 GMT ない後:8月14日午前7時30分27秒2022 GMTの 件名:C = CN、ST =北京、O =テスト、OU = IT、CN=test.cn/[email protected] サブジェクト公開鍵情報:// CA认证中心公钥信息 公開鍵アルゴリズム:rsaEncryption 公開鍵:(2048ビット) モジュラス: 00:F5:B0:8D:1F:fdが:12:2B:7C:D4:6D:75:C1:DA:3E: C:87:22:92 1E:41:C9:21:BC:C7: BB:65:1F:1A:A4: 46:7F:D0:0D:22:11:FC:BF:49:9A:2A:B9:56:9A:14: 18:B9:6E:55:3B: 06:25:49:80:38:58:1D:F8:89:62: E6:E5:09:6A:61:7C:E8:C7:BC:である:F1:7C:86:E3:デ: 1E:49:CF:6E:09:AC:CB:5A:58:F3:62:71:C7:05:4E: 5A:D7:AB:BB:03:35:49:F1:81:07:図7B:82:99:75:A6: 28:C7:6D:AA:88:7B:82:D8:AC:EE:E7:E4:28:AA:8D: E6:62:45:B9:6A:図5a:49:49:40:65:E7:2F:69:D8:48: 2F:CB:A3:C3:01:AF:B5:8E:0F:B5:68:0A:7B:64:4B: 図6a:46:58:D6:F2:4D:02:51:EA:5C:4C:38:70:38:B6: 5D:FD:D7:DA:AF:3C:99:46:CB:40: 02:7F:4D:A8:30: 98:4C:72:fdが:80:7D:13:F5:42:6B:DD:3D:02:52 4B: C2:6F:EB:5C:CA: 63:76:1F:B4:5A:6cは:E5:0C:FB:BC: B6:32:44:D7:C4:7D:8A:6B:3F:58:56:9B:72:fdが:74: 0F:44:63:E8:FC:D2:49:26:2A:4C :8A:3B:98:56:E5:86:70:3E: 66:D9:A2:43:36: 5C:A5:EA:91: 49:07:14:A4:51:A8: BB:94:9B:5D:72:1D:01:7E:89:EB:F5:EC:2B:3E:F5: 73:21 指数:65537(0x10001) 書X509v3拡張子: 書X509v3サブジェクト鍵識別子: 08:F1 :6F:02:F1:A0:BD:71:1E:DF:F5:D1:F3:7B:40:05:3A:02:B5:7C 書X509v3機関キー識別子: 鍵ID:08:F1:6F:02 :F1:A0:BD:71:1E:DF:F5:D1:F3:7B:40:05:3A:02:B5:7C 書X509v3 Basicの制約: CA:TRUE 署名アルゴリズム:sha256WithRSAEncryptionの 3D:C4:AE:3D :EE:22:C7:FF:E7:C2:54:9D:B1:F5:4B:A4:C9:46: 58:EC:E7:50:D8:48:66:39:8E:99:12 :1B:F0:0A:37:86:03:61: 8D:21:DC:26:CA:48:9B:43:82:4A:FA:4F:FF:FB:04:66:EE:B2 : FE:1B:2E:83:3A:5E:6F :DF:C5:38:96 8A:BA:B8:である:37:E7:2B: B8:5bは:である:91:E5:B5:8A:6B:1F:00:BC:15:B8:91:B4:66:広告:BF: BAYTAkNOMRAwDgYDVQQIDAdiZWlqaW5nMQ0wCwYDVQQKDAR0ZXN0MQswCQYDVQQL 77:E7:AF:A8:C7:84:A8:09:0B:1A:B0:43:2D:C2:AE:56:8C:81: 09:D3:C0:52:63:E9:EC: 04:F1:4E:23:C9:EB:16:36:7C:56:4F: D3:11:06:A9:1C:27:B8:ED:84:04:7A:77:56:CA:図8b:F2:1A:42: C1:2F:8C:8D:06:EA:15:E5:08:D9:35:CB:C4:F1:C9:6A:F5:8B: 7E:である:46: 71:2E:56:00:E7:C4:FE:18:98:CF:72:16:BD:DA:FB: B3:9B:03:FC:3C:E4:43:74:04:20: CF:7D:9F:6C:DD:76:BF:8C: B7:E0:44:8A:2A:D7:C5:60:82:C9:CB:1D:80:5B:D1:デ:04: D6: DC:19:5A:AA:A9:1B:9D:D6:ED:D1:81:6D:68:10:90:E0:B5:7B: E7:B6:64:42 ----- BEGIN CERTIFICATE ----- //私钥 MIIDpTCCAo2gAwIBAgIJAK / g3co5Mo5WMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV b20wHhcNMTkwODE1MDczMDI3WhcNMjIwODE0MDczMDI3WjBpMQswCQYDVQQGEwJD DAJJVDEQMA4GA1UEAwwHdGVzdC5jbjEaMBgGCSqGSIb3DQEJARYLdGVzdEBxcS5j TjEQMA4GA1UECAwHYmVpamluZzENMAsGA1UECgwEdGVzdDELMAkGA1UECwwCSVQx EDAOBgNVBAMMB3Rlc3QuY24xGjAYBgkqhkiG9w0BCQEWC3Rlc3RAcXEuY29tMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9bCNH / 0SK3zUbXXB2j4skoci HkHJIbzHu2UfGqRGf9ANIhH8v0maKrlWmhQYuW5VOwYlSYA4WB34iWLm5QlqYXzo x7y + 8XyG494eSc9uCazLWljzYnHHBU5a16u7AzVJ8YEHe4KZdaYox22qiHuC2Kzu 5 + Qoqo3mYkW5alpJSUBl5y9p2Egvy6PDAa + 1jg + 1aAp7ZEtqRljW8k0CUepcTDhw OLZd / dfarzyZRstAAn9NqDCYTHL9gH0T9UJr3T1SAkvCb + tcymN2H7RabOUM + 7Y2 MkTXxH2Kaz9YVpty / XRm2aJDNlyl6pFJBxSkUai7lJtdch0Bfonr9ewrPvVzIQID AQABo1AwTjAdBgNVHQ4EFgQUCPFvAvGgvXEe3 / XR83tABToCtXwwHwYDVR0jBBgw FoAUCPFvAvGgvXEe3 / XR83tABToCtXwwDAYDVR0TBAUwAwEB / zANBgkqhkiG9w0B AQsFAAOCAQEAPcSuPe4ix // nwlSdsfVLpMlGWOznUNhIZjmOmRIb8Ao3hgNhjSHc JspIm0OCSvpP // SEZu6yD0Rj6PzSSSYqTIo7mFblhnA + UFu + KeWlimsfALwVuJG0 ZQ2 // hsugzpeb9 / FljiKuri + N + CRD + evqMeEqAkLGrBDLcKuVoyBCdPAUmPp7ATx TiPJ6xY2fFZP0xEGqRwnuO2EBHp3VsqL8hpCwS + MjQbqFeUI2TXLxPHJavWLfr5G cS5WAOfE / hiYz3IWvdr7s5sD / DzkQ3QEIM99n2zddr +山+ BEiirXxWCCycsdgFvR 3gTW3Blaqqkbndbt0YFtaBCQ4LV757ZkQg == ----- END CERTIFICATE -----証明書
说明:の/ etc / PKI / TLS /その他/ CAの-newcert | -newreq | -newreq-ノード| -newca | -sign | -verify
新しい証明書-newcert
-newreq新しい要求
ノードを要求する新しい-newreq、ノード
新しいCA証明書-newca
-signビザ
-verify検証
(2).Apache達成HTTPS
HTTPDを準備し、あなたはSSLモジュールを含める必要が
#yumを-y httpdのmod_sslのインストール[youxi2〜@ルート] ある/etc/httpd/conf/httpd.conf [ルート@ youxi2〜]#のVimを ServerNameの192.168.5.102:80 //第95行 [ルート@ youxi2〜]#systemctlのは、開始httpd.service [ルート@ youxi2〜]#ファイアウォール-CMD --permanent --zone =公共--add-ポート= 80 / TCPの 成功 [ルート@ youxi2〜]#ファイアウォール-CMD --reload 成功
証明書要求ファイルを生成し、CA認証センターyouxi1に送信
// - DES3 DES3暗号化アルゴリズムを使用して、指定されたアドレスに-out [youxi2ルート@〜]#のOpenSSL genrsa -アウトdes3-の/ etc / httpdの/ conf.d / server.keyの RSA秘密鍵、2048ロングモジュラスビットを生成します 。 .................................................. +++ ............................................. .. +++ .................. Eは、65537(0x10001)IS //プライベートキー入力保護:/etc/httpd/conf.d/server.keyための入力パスフレーズパスワード、123456 の確認- /etc/httpd/conf.d/server.key用のパスフレーズを入力します://繰り返しパスワード // -キーの秘密鍵を指定し 、[ルートの@ youxi2を〜]#のopensslの REQ -new -keyの/ etc / HTTPD / conf.d / server.keyのチェックアウト/server.csr 証明書要求INTO。 /etc/httpd/conf.d/server.keyための入力パスフレーズ:秘密鍵の//入力保護(/etc/httpd/conf.d/ server.keyの)、123456 あなたは組み込まれます情報を入力するように要求されようとしている あなたが入ろうとしていることは、識別名またはDNと呼ばれるものです。 そこかなりの数のフィールドがありますが、あなたには、いくつかの空白のままにしておくことができ 、デフォルトの値になりますが、いくつかのフィールドで ユーザーが入力した場合は「」、フィールドを空白のままになります。 ----- //通用名不能和CA一样、一般写域名 国名(2文字コード)[XX]:CN 都道府県名(フルネーム)[]:北京 地域名(例えば、都市)[デフォルト市]:海淀 組織名(例えば、会社)[デフォルトの企業株式会社]:テスト 組織単位名(例えば、セクション)[]:ITは 共通名(例えば、自分の名前や、サーバーのホスト名)[]:test.comの メールアドレス[]:[email protected] 以下「余分の属性を入力してください あなたの証明書を要求するために送られると //入力:チャレンジパスワードは[] //入力:オプションの会社名[] [ルート@ youxi2〜]#のSCP /server.csr 192.168.5.101:/ //は、 CAを送信します認定センター [email protected]'sパスワード: -in server.csrの127.4キロバイト、100%1029 / S 00:00
署名するキャッシュ認証センター、リターンパス
[ルート@ youxi1〜]#件のopenssl CA -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in /server.csr -out /server.crt からコンフィギュレーションを使用して/etc/pki/tls/openssl.cnf /etc/pki/CA/private/cakey.pemのためにパスフレーズを入力します。//cakey.pem的保护私钥的密码、123456 リクエストが署名と一致することを確認し 署名OK 証明書を詳細: シリアル番号: AF:E0:DD:CA:39:32:8E:57 有効期限 前ではない:8月15日8時45分17秒2019 GMT ない後:8月14日8時45分17秒2020 GMTの 件名: COUNTRYNAME = CN stateOrProvinceName =北京 organizationNameのテスト= organizationalUnitName = IT commonNameの= test.com EMAILADDRESS = [email protected] 書X509v3拡張子: 書X509v3基本制約: CA:TRUE Netscapeのコメント: OpenSSLに生成された証明書 書X509v3件名キー識別子: B3:F5:B0:FE:43:AC:44:C9を:7F :C6:B5:6F:5C:EA:B8:D1:04:36:1E:40 書X509v3機関キー識別子: 鍵ID:08:F1:6F:02:F1:A0:BD:71:1E:DF:F5 :D1:F3:7B:40:05:3A:02:B5:(c) 証明書は14午前8時45分17秒2020 GMT(365日)月まで認定する 証明書に署名?[Y / N]:Y 認定1つの証明書要求のうち1、コミット?[Y / N] Y 1つの新しいエントリをデータベースに書き出す データベースの更新 [ルート@ youxi1〜]#scpコマンド/server.crt 192.168.5.102:/ //回传给服务器 :[email protected]'sパスワード をserver.crt 100%4547 1.8メガバイト/ sの0時00
証明書ファイルをロードするためのApacheの設定
[youxi2ルート@〜] /etc/httpd/conf.d/のCP番号を/server.crt する/etc/httpd/conf.d/ssl.conf#Vimの[youxi2ルート〜@] SSLCertificateFile /etc/httpd/conf.d /server.crt //ライン100、署名付き証明書 SSLCertificateKeyFile /etc/httpd/conf.d/server.key/ /ライン107、秘密鍵 [ルート@ youxi2〜] httpdの再起動systemctl# SSL 192.168用のパスフレーズを入力します。 5.102:443(RSA):****** [ルート@ youxi2〜]#yumを-yインストールNET-tools.x86_64 [ルート@のyouxi2〜]#netstatの-antup | grepのビュー443 // 443 にtcp6 0 0 2126 * 443 ::: ::: / httpdのLISTEN [ルート@ youxi2〜]#=ファイアウォール-CMD --permanent --zone公共--add-ポート= 443 / TCP 成功 [ルート@ youxi2〜]#ファイアウォール-CMDを--reload 成功
最後に、Windowsのビューを使用します
(3)HTTPSを達成.nginx
停止中のApache、nginxのインストール
[ルート@のyouxi2〜]#systemctlの停止httpdの [ルート@ youxi2〜]#netstatの-antup | グレップ443 [ルート@ youxi2〜]#yumを-y nginxのインストール
nginxの負荷の証明書ファイルの設定
[ルート@のyouxi2〜]#のVimの/etc/nginx/conf.d/default.confの サーバー{ 443 SSLを聞きます。 keepalive_timeout 70; 位置/ { ルートを/ usr / share / nginxの/ HTML。 インデックスのindex.html index.htmを。 } のTLSv1 TLSv1.1 TLSv1.2はssl_protocols。#SSL支持的版本 のssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5。 ssl_certificate /etc/httpd/conf.d/server.crt; ssl_certificate_key /etc/httpd/conf.d/server.key; ssl_session_cache共有:SSL:10メートルを。 ssl_session_timeout 10メートル; } #nginxの-t [youxi2〜@ルート] PEMパスフレーズを入力: nginxの:コンフィギュレーションファイル/etc/nginx/nginx.confの構文はokですが nginxの:コンフィギュレーションファイル/etc/nginx/nginx.confテストは成功です #1 nginxの[youxi2〜@ルート]は、 PEMフレーズパスを入力: [ルート@ youxi2〜]#netstatの-antupを| grepの443 マスター:0 0.0.0.0:443 0.0.0.0:*は、2436 / nginxのをLISTEN 0 TCP
最終Windows上で閲覧
(4).SSLハンドシェイク
SSLはメカニズムを介して、セキュア・ソケット・レイヤー、セキュア・ソケット・レイヤー中国名の略で、インターネット上でのキーの送信を提供します。その主な目的は、それは同時に、サーバとクライアントの両方をサポートすることができる2つのデータのセキュリティと信頼性の間の通信のための暗号化アルゴリズムの適用を確実にするためです。主流のバージョンSSLV2、SSLV3(共通)。
フォーウェイハンドシェイクの安全な送信処理:
クライアントは--- 1.クライアントが--->サーバーの暗号化アルゴリズムを交渉するために、セキュアなセッションを要求します
<---------- 2.クライアントに独自の証明書サーバ----------
3.サーバーを確認し、CAの閲覧に保存されているルート証明書とクライアントの検出サーバ証明書は、私がアクセスしたいサイトです。クライアントは、対称暗号鍵、公開鍵をサーバのサーバに送信されて暗号化された対称暗号鍵を生成し、クライアントは、サーバの公開鍵を取得するためにサーバー証明書を解読するためにCAのルート証明書の公開鍵を使用しています。対称鍵暗号を使用して後期データ。
------------------------------------------------->
4.serverは、対称暗号化キーを取得するために、秘密鍵を使って復号化されました。したがって、迅速にデータを安全に伝送するための対称暗号化キーを使用して。ここで使用されるように、対称データ暗号化、対称暗号化と復号化の高速ので。
<------------------------------------------------>
总结:SSL四次握手流程整体分两个过程。过程1, 确认身份;过程2,生成一把对称加密密钥,传输数据。