Apacheの2.4自己署名証明書とSSLクライアント認証

最近、IPネットワークとドッキングすることにより、サードパーティ製のドッキング、ピアVPN要件を持つ企業のプロジェクトは、だけでなく、署名付き証明書HTTPSを取るためには、クライアントは、双方向SSL認証と承認によって行うように頼ま!

自己署名証明書

RSAキーは、opensslコマンドによって生成され、その後、このキーの自己署名証明書を使用することができます。
自己署名証明書とCA署名付き証明書の主な違いは、信頼できる証明書をインストールするには、クライアントの必要性が、それ以外のブラウザはまだ安全なHTTPSを報告しますインストールされた自己署名証明書です。12306証明書は自己署名する必要がありますので、家庭用がある为保障您顺畅购票,请下载安装根证书のヒントが。
注:クローム58後に報告されていたであろう自己署名証明書を生成しerr_cert_common_name_invalid、オンラインで、かつ安全ではないと識別されて解決することができるのconfigureのopensslサブジェクト代替名があることを、言う検証
https://github.com/webpack/webpack-dev-server/問題/ 854

証明書のフォーマット

SSL証明書は、様々なフォーマットを持っています:

  1. OpenSSLライブラリによって提供されたパスワードを使用してApache、Nginxは、など、証明書ファイルをPEMを生成し、キー、他のフォーマットをCRT。
  2. Javaライブラリによって提供されたパスワードを使用してTomcatのは、WebLogic、JBossの、など、。キーツールJavaツールによって証明書ファイルのJavaキーストア(JKS)フォーマットを生成します。
    一般的な証明書フォーマット情報:
  • *.der*.cer*.crtバイナリ形式の証明書に格納されている、唯一の公開鍵は、秘密鍵が含まれていません。
  • *.csr 証明書要求は、CAが署名して正式な証明書を発行するために必要とされます。
  • *.pem一般的なテキストフォーマットは、証明書や秘密鍵を置くことができ、またはその両方が含まれています。* .PEMの場合は、それは一般的に* .KEYに置き換えられ、秘密鍵が含まれています。
  • *.pfx*.p12それはバイナリ形式ですが、証明書と秘密鍵を使用して、通常はパスワード保護されました。

自己署名証明書を生成します

  1. 鍵生成RAS:server.keyのの
    注:このコマンドは、安全な場所に保管するための秘密鍵の証明書を生成

$ opensslのgenrsa -out server.keyの2048

あなたが追加した場合-des3のパラメータを、パスワードを入力するように求められます、証明書は、パスワードを入力するようにApacheの将来の開始時間をロードしました。

$ opensslのgenrsa -des3 -out server.keyの2048

あなたは、次のコマンドを表示することができます

opensslのRSA -noout -text -in server.keyの

  1. server.crt:自己署名証明書を生成するには、次のコマンドを実行

opensslのREQ -new -x509 -nodes -sha1 -days 365 -key server.keyのチェックアウトをserver.crt -extensions usr_cert

-days証明書は数日間有効であり、それは、例えば、長年にわたり1825を識別し、5年間の期間とすることができます

上記のコマンドの実装は、直接ブラウザで表示することができます生成された最後の証明書に表示される、以下の情報を要求します。
注:Comman Nameあなたは、ドメイン名への実際のアクセスと一致していなければなりません

国名(2文字コード)[AU]:CN
都道府県名(フルネーム)[いくつかのステート]:北
地域名(例えば、都市)[]:都市
組織名(例えば、会社)[インターネットWidgits Pty Ltdの]:テスト株式会社
組織単位名(例えば、セクション)[]:
共通名(例えば、サーバFQDNまたはあなたの名前)[]:test.com
メールアドレス[] [email protected]

  1. Apacheの設定
    Apacheのバーチャルホストの設定で以下の設定を追加する必要があります

SSLCertificateFile "/path/to/this/server.crt"
SSLCertificateKeyFile "/path/to/this/server.key"

設定後に行うことができるsudo apachectl configtest構成を確認します。
経由してsudo httpd -S、仮想ホスト情報のApacheを確認してください。

SSLクライアント認証と認可

私たちは、通常、証明書は、一般的に、サーバ証明書である一方向認証、あるHTTPS。クライアント認証は、唯一の証明クライアントには、Apacheの下に指定されたリソースにアクセスすることができ、クライアント認証のための機能を提供することができます。
:仮想ホストApacheなどの構成情報
注:ここでSSLCACertificateFileルート証明書がクライアントを設定することができます

SSLCACertificateFile "/etc/pki/tls/cert/root.crt"
でSSLVerifyClientが必要
SSLVerifyDepth使用10



著者:Tsun424の
リンクします。https://www.jianshu.com/p/9c861b85c75aの
出典:ジェーンの本が
著者によって著作権で保護されています。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。

おすすめ

転載: www.cnblogs.com/surplus/p/12235298.html