Transport Layer Security (英語: Transport Layer Security、TLS と略称) とその前身である Secure Sockets Layer (略称 SSL) は、セキュリティを提供するために設計されたセキュリティ プロトコルです。インターネット通信のデータ整合性保護。
SSL にはレコード層 (レコード層) とトランスポート層が含まれており、レコード層プロトコルによってトランスポート層データのカプセル化形式が決まります。
トランスポート層セキュリティ プロトコルは、X.509 認証を使用し、次に非対称暗号化アルゴリズムを使用して通信当事者を認証し、対称キーをセッション キーとして交換します。
このセッション キーは、2 つの通信当事者によって交換されるデータを暗号化し、2 つのアプリケーション間の通信の機密性と信頼性を確保するために使用されます。これにより、クライアント アプリケーションとサーバー アプリケーション間の通信が盗聴されなくなります。攻撃者たち。
TLS/SSL を構成する前に、対応する署名証明書を取得し、JAVA 開発環境を構成する必要があります。 Java 次の Keytool を使用して証明書を生成し、コンソールを開いて次のように入力します:
keytool -genkey -alias michaelSpica -storetype PKCS12 -keyalg RSA -keysize 2048 - keystore E: \Temp\michaelSpica.p12 -validity 3650
alias エイリアス (必要に応じて選択できます)
storetype キー ストア タイプを指定します。
keyalg 証明書を生成するアルゴリズムの名前。RSAは非対称暗号化アルゴリズムです
keysize 証明書のサイズ
keystore のストレージ パス生成された証明書ファイル (相対パスまたは絶対パス)
証明書の有効期間
ステップ 2: 証明書を取得する
ステップ 3: SSL 構成を追加します。
に追加します。
ステップ 4: https アクセスを構成する
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
package com.michael.protocol.config;
import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by michael on 2019/2/23.
*/
@Configuration
public class TomcatConfig {
@Value("${server.http.port}")
private int httpPort;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
return tomcat;
}
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(httpPort);
return connector;
}
}
この時点で、すべての作業が完了しました。次のようなプロジェクトを開始します。
成功したことを示す 2 つのポートが表示され、次の 2 つの方法でアクセスできます。
https://localhost:443http://localhost:80
以上がhttp アクセスと https アクセスを同時にサポートするように SpringBoot で SSL を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。