【AWS】TomcatからSnowflakeへ接続するために証明書を発行する手順
1 Snowflake側へアクセスする。
context.xml
<Resource
name="jdbc/---"
type="javax.sql.DataSource"
url="jdbc:snowflake://XXXXX.ap-northeast-1.aws.snowflakecomputing.com:999"
driverClassName="net.snowflake.client.jdbcSnowflakeDriver"
account="XXXXXX"
:
という構成だった場合、アクセスするURLは以下となる。
https://XXXXX.ap-northeast-1.aws.snowflakecomputing.com
2 URL左にある🔓鍵マークを押し、「証明書」アイコンを押す。
「接続がセキュリティで保護されています」を押す。
「証明書」記号を押す。
3「XXXXXX-CA」をクリックした状態で「エクスポート」を押す。
※この画面が開かれたとき、自動で階層が下がっているので、必ず「XXXXXX-CA」にフォーカスされていることを確認してください。
「XXXXXX-CA」以外をエクスポートしても、正常に動作しませんので、ご注意ください。
⇒エクスポートすると「XXXXXX-CA.crt」ファイルがダウンロードされます。
エクスポートした証明書をtomcatに配置する。
Eclipseで設定しているtomcatサーバの実行構成で、どのJDKを指定しているか?を確認する。
「Servers」>「Tomcatxxx(サーバ名)をダブルクリック」>「Open launch configuration」>「Classpath」の順で開く。
→ この環境のTomcatは「jdk.1.8.0_282」を使っているので、ここに証明書をインポートしていきます。
JDKに証明書をインポートするために、JDK\bin上でコマンドプロンプトを開く。
C:\jdk.1.8.0_282\bin>
証明書をインポートする先のフォルダを作っておく。
名前:「security」にしてください。(この名称以外は不可、必ずこの名前で作成すること)
下記コマンドを打つ
keytool -import -alias tomcat -keystore "C:\jdk1.8.0_282\lib\security\cacerts" -file "■証明書ファイルのフルパス■\XXXXXX-CA.crt" -storepass "■パスワード■"
※パスワードは、プロキシのパスワード。
その後「この証明書を信頼しますか。[いいえ]: 」と表示されるので「小文字のy」を入力する。
「証明書がキーストアに登録されました」となればOKです。
EclipseのサーバVM引数に、以下を追加する
Eclipse > Server > 右クリック > Edit Configration… > Argments > VM Argmentsに以下を入力する。
-Dcatalina.base="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0"
-Dcatalina.home="C:\apache-tomcat-8.5.76"
-Dwtp.deploy="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps"
-Djava.endorsed.dirs="C:\apache-tomcat-8.5.76\endorsed"
-Dhttp.useProxy=true
-Dhttps.proxyHost="Proxy.XXXXXXXX.com"
-Dhttp.proxyHost="Proxy.XXXXXXXX.com"
-Dhttps.proxyPort=8081
-Dhttp.proxyPort=8081
-Dhttp.proxyUser=■ドメインID■
-Dhttp.proxyPassword=■ドメインパスワード■
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djavax.net.ssl.trustStore=C:\jdk1.8.0_282\lib\security\cacerts
-Djava.net.ssl.trustStorePassword=■パスワード■
※trustStorePasswordは、cmdでキーストアに登録したときに使ったパスワードを記入します。
参考
C:\jdk.1.8.0_282\bin>keytool -list -v -keystore "C:\jdk.1.8.0_282\bin\security\cacerts" -storepass "XXXX"
キーストアのタイプ: jks
キーストア・プロバイダ: SUN
キーストアには1エントリが含まれます
別名: tomcat
作成日: yyyy/mm/dd
エントリ・タイプ: trustedCertEntry