SSL 暗号化を使用した接続
来源:互联网 发布:react native vue.js 编辑:程序博客网 时间:2024/05/21 19:02
このトピックの例では、Java アプリケーションで SSL (Secure Sockets Layer) 暗号化を使用できるようにする接続文字列プロパティの使用方法について説明します。これらの新しい接続文字列プロパティ (encrypt、trustServerCertificate、trustStore、trustStorePassword、hostNameInCertificate など) の詳細については、「接続プロパティの設定」を参照してください。
encrypt プロパティが true に設定され、trustServerCertificate プロパティが true に設定されている場合、Microsoft SQL Server 用 JDBC Driver は SQL Server の SSL 証明書を検証しません。これは、通常、テスト環境 (SQL Server インスタンスが自己署名入りの証明書しか備えていない環境など) で接続を許可する場合に必要になります。
次のコード例では、接続文字列内に trustServerCertificate プロパティを設定する方法を示します。
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=AdventureWorks;integratedSecurity=true;" + "encrypt=true;trustServerCertificate=true";
encrypt プロパティが true に設定され、trustServerCertificate プロパティが false に設定されている場合、Microsoft SQL Server 用 JDBC Driver は SQL Server の SSL 証明書を検証します。サーバー証明書の検証は、SSL ハンドシェイクの一部であり、接続先のサーバーが適切なサーバーであることを保証します。サーバー証明書を検証するには、trustStore 接続プロパティと trustStorePassword 接続プロパティを明示的に使用するか、または基になる Java 仮想マシンのトラスト ストアを暗黙的に使用して、接続時にトラスト マテリアルを提供する必要があります。
trustStore プロパティでは、証明書の trustStore ファイルへのパス (ファイル名を含む) を指定します。このファイルには、クライアントが信頼する証明書の一覧が含まれています。trustStorePassword プロパティでは、trustStore データの整合性の確認に使用するパスワードを指定します。JVM の既定のトラスト ストアの詳細については、「SSL 暗号化のためのクライアントの構成」を参照してください。
次のコード例では、接続文字列内に trustStore プロパティと trustStorePassword プロパティを設定する方法を示します。
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=AdventureWorks;integratedSecurity=true;" + "encrypt=true; trustServerCertificate=false;" + "trustStore=storeName;trustStorePassword=storePassword";
JDBC Driver には、サーバーのホスト名を指定するための追加プロパティである hostNameInCertificate が用意されています。このプロパティの値は、証明書の subject プロパティと一致する必要があります。
次のコード例では、接続文字列内で hostNameInCertificate プロパティを使用する方法を示します。
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=AdventureWorks;integratedSecurity=true;" + "encrypt=true; trustServerCertificate=false;" + "trustStore=storeName;trustStorePassword=storePassword" + "hostNameInCertificate=hostName";
または、SQLServerDataSource クラスによって提供される適切な setter メソッドを使用して、接続プロパティの値を設定することもできます。
encrypt プロパティが true に設定され、trustServerCertificate プロパティが false に設定され、接続文字列のサーバー名が SQL Server SSL 証明書のサーバー名に一致しない場合は、次のエラーが発行されます: ドライバーは SSL (Secure Sockets Layer) 暗号化を使用して SQL Server への安全な接続を確立できませんでした。エラー: "java.security.cert.CertificateException: SSL (Secure Sockets Layer) の初期化中に、証明書内のサーバー名の検証が失敗しました。"
- SSL 暗号化を使用した接続
- 暗号化的运用
- java中json与jsonp这对暗号的使用
- 周杰伦 暗号
- 新婚之夜的暗号
- 暗号编辑【代码056852】
- 170623 逆向-暗号
- 【逆向学习】暗号 writeup
- 校园最前卫的暗号
- 网站logo的机密暗号
- 专业26字母电话"暗号"
- 《林海雪原》中的黑话暗号
- 防火墙安全策略之敲门暗号
- 安装并使用 SSL
- 配置Tomcat使用SSL
- 配置Tomcat使用SSL
- 怎么使用SSL
- Tomcat下使用SSL
- 入职第一天
- C#UDP通讯UdpClient
- windows下安装启动MongoDB
- IPC:Socket
- 字符串中子串替换成新子串 简单实现
- SSL 暗号化を使用した接続
- 通过三层和mvc一步步看架构(一)
- 系统各项底层信息的工具集:Hyperic-Sigar
- 关于Application windows are expected to have a root view controller at the end of application launch
- 十进制转十六进制和冒泡排序
- Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
- Stateful Session Bean 在JBoss 6 下临时文件
- common-fileupload上传文件
- busybox中telnet功能的添加