基本コンセプト
SSL証明書:SSL証明書があるデジタル証明書運転免許証、パスポートおよびビジネスライセンスの電子コピーと同様のもの、。また、SSLサーバー証明書として知られているサーバー上の設定、ので。
SSLプロトコルに準拠SSL証明書は、デジタル認証局CAは、サーバー認証とデータの暗号化とサーバーの身元を確認した後に発行され、証明書を信頼されました。
クライアントブラウザとのSSL証明書をWebサーバーネットスケープコミュニケーション社によって設計された安全なチャネルのSSL(セキュアソケットレイヤ(SSL)セキュリティプロトコルを確立するために、主にユーザーとサーバーの認証を提供するために使用するセキュリティプロトコルの間に開発、のためにデータ転送は暗号化され、隠され、そのデータは、データの整合性は、すべての主要なブラウザに設立されたため、SSL技術へのグローバル化の分野における標準となっていること、中に改ざんとされていないことを確認する。WEBサーバプログラムをしたがって、のみをインストールし、サーバ証明書ができ活性化)この機能Aを、すなわち、それはSSLプロトコルにより活性化することができ、クライアントとサーバの間の情報のデータ送信の暗号化は、情報の伝達を確実にするために、両方の、データ情報の漏洩を防止することができますセキュリティであり、ユーザは、証明書が本物であるサーバーのサイトを訪問したことを確認することができます。また、デジタルID、署名(すなわちデジタル証明書、デジタルID)として知られているデジタル情報ファイルのデジタル署名は、署名し、日常生活への考え方に似通信ネットワークの両方のアイデンティティを、証明するために使用されているインターネット上の認証のための方法を提供し、運転免許証やIDカード。デジタル署名は、主にオンライン電子取引の確保、安全な電子メール、安全なサイトへのアクセス、オンライン入札及び入札、オンライン契約、オンライン注文、オンライン文書の安全な転送、オンラインオフィス、オンライン決済、オンラインショッピングやオンライン税を送信するために使用されます。
HTTPSプロトコル:HTTPS(フルネーム:セキュアソケットの上にハイパーテキスト転送プロトコルレイヤ)は、 ターゲットHTTPチャネルのための安全で、簡単に、HTTPの安全なバージョンです。すなわちHTTPは、HTTPSでSSL層、SSLのセキュリティインフラストラクチャを追加したため、詳細な暗号化されたSSLが必要です。システム:これは、URIスキーム(抽象識別子システム)、HTTPに似た構文です。セキュアな送信用のHTTPデータ。HTTPS:URLは、HTTP、HTTPSを使用していることを示しているが、HTTPのからデフォルトの異なる存在であるポートと、(HTTPとTCPの間)の暗号化/認証層が。元々 、ネットスケープ(Netscapeの)によって開発され、その組み込みブラウザNetscape Navigatorのシステムは、認証および暗号化を提供通信方法。これは、現在広くで使用されているワールド・ワイド・ウェブなどの取引の支払いなどのセキュリティに敏感な通信、上。
HTTPとHTTPSの違い:送信データへのHTTPプロトコルは、NetscapeのSSLを設計してそう(、データのプライバシーが送信を暗号化できることを確認するために、非常に危険な個人情報を送信するためにHTTPプロトコルを使用して、ある暗号化されていない、クリアテキストでありますHTTPを介して送信されるデータのためのソケット・レイヤー)プロトコルは暗号化された安全、ひいてはHTTPSを生まれました。簡単に言えば、HTTPSプロトコルはHTTPプロトコルのセキュリティよりもネットワーク認証プロトコル、プロトコルが送信を暗号化することができSSL + HTTPで構成されています。
公式ドキュメント
公式文書: https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
ステップ
SSL証明書の取得
1、無料のSSL証明書のアリ雲
アリ雲無料SSL証明書の要求住所:https://common-buy.aliyun.com/?spm=5176.10695662.958455.3.58d37d544FnuYs&commodityCode=cas#/buy
SSL証明書をダウンロード
Tomcatの設定
アリクラウドSSL証明書公式Tomcatの設定手順:
TomcatのサポートJKS証明書形式、また、支持体は、証明書は、証明書の形式と提出の両方をフォーマットTomcat7 PFXからスタート。
ファイルの説明:1.証明書ファイルxxxx.pemは、2つの段落が含まれている、コンテンツの任意の部分を削除しないでください。
2. CSR証明書システムが作成された場合、前記証明書の秘密鍵ファイルのxxxx.key、PFX形式の証明書ファイルxxxx.pfx、PFX形式の証明書のパスワードファイルのPFX-PASSWORD.TXT。
図1に示すように、証明書のフォーマット変換
すべてのファイルは、Tomcatのインストールディレクトリの下に証明書のディレクトリを作成し、証明書のディレクトリのコピーをダウンロードします。証明書の申請がCSRは、あなたが作成したファイルである場合は、別館はxxxx.pemファイルが含まれている、あなたはまた、xxxx.keyという名前の証明書ディレクトリにファイルをコピーする必要があり、CSRがシステムによって作成された場合、ステップに直接移動してください2 。
PFX証明書のパスワードを設定するには、ここPFXフォーマット変換コマンドを完了するには、次のコマンドを実行するための証明書ディレクトリの下に、心に留めておいてください。openssl pkcs12 -export -out xxxx.pfx -inkey xxx.key -in xxxx.pem
2、PFX証明書のインストール
Tomcatのインストールディレクトリの下のファイルのserver.xmlを検索し、通常はデフォルトのパスはconfファイル内のフォルダです。見つかった<接続ポート=「8443」タグ、次のプロパティを追加します。
keystoreFile="cert/xxxx.pfx" keystoreType="PKCS12"
開きのserver.xmlを、次のコードを探し、コメント解除
注:直接追加見つけることができません
に改訂
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="D:/apache-tomcat-8.5.15/cert/xxx.pfx"
certificateKeystoreType="PKCS12" certificateKeystorePassword="xxx" />
</SSLHostConfig>
</Connector>
パラメータ情報:
プロパティ | 説明 |
---|---|
certificateRevocationListFile |
包含证书颁发机构的级联证书吊销列表的文件名。格式是PEM编码的。如果未定义,则不会根据证书吊销列表检查客户端证书(除非使用了基于OpenSSL的连接器并且 定义了certificateRevocationListPath)。相对路径将针对解析 |
certificateRevocationListPath |
仅OpenSSL。 包含证书颁发机构的证书吊销列表的目录的名称。格式是PEM编码的。相对路径将针对解析 |
certificateVerification |
设置为 |
certificateVerificationDepth |
验证客户端证书时允许的中间证书的最大数量。如果未指定,将使用默认值10。 |
ciphers |
使用OpenSSL语法启用的密码。(有关支持的密码列表和语法,请参见OpenSSL文档。)或者,可以使用逗号分隔的使用标准OpenSSL密码名称或标准JSSE密码名称的密码列表。 对于基于JSSE的连接器,从OpenSSL语法转换为JSSE密码时,OpenSSL语法分析的行为与OpenSSL 1.1.0开发分支的行为保持一致。 仅使用SSL实施支持的密码。 如果未指定,将使用默认值(使用OpenSSL表示法) 请注意,默认情况下,定义密码的顺序被视为优先顺序。请参阅 |
hostName |
SSL主机的名称。这应该是完全限定域名(例如 |
protocols |
与客户端通信时要支持的协议的名称。这应该是以下各项的任意组合的列表:
列表中的每个标记都可以带有加号(“ +”)或减号(“-”)前缀。加号添加协议,减号将其从当前列表中删除。该列表是从一个空列表开始构建的。 令牌 请注意, 请注意, 请注意, 如果未指定, |
sessionCacheSize |
要在会话缓存中维护的SSL会话数。指定 |
sessionTimeout |
创建SSL会话后将超时的时间(以秒为单位)。指定 |
sslProtocol |
仅限JSSE。 要使用的SSL协议(一个值可以启用多个协议-有关详细信息,请参阅JVM文档)。如果未指定,则默认为 |
注:Tomcat 8.0及以下配置:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="F:\Keystore\tomcat.keystore" keystorePass="123456"/>
参数信息:
属性 描述 clientAuth 如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证 keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。 keystorePass 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。 sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。 ciphers 指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。
保存
重启Tomcat
访问
https//:域名:端口
注:HTTPS协议默认端口443
常见问题
暂无
参考文章
https://segmentfault.com/a/1190000009780545
https://www.jianshu.com/p/9aabef3373ee
https://www.cnblogs.com/liaojie970/p/6693841.html