見出し画像

【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


いいなと思ったら応援しよう!