2018年6月26日火曜日

WindowsでTomcat8.5を使って開発するときのオレオレ証明書用のキー生成

Javaのbinフォルダにkeytoolというコマンドラインアプリケーションものがあるので、これを使う。

まず当然、コマンドプロンプトでこれを実行する。

そんで、
keytool -genkeypair -keystore c:/tomcatkeystore.jks -keyalg RSA -alias localhost -validity 3650
パスワードはどうでもいいので"password"と答え、あとの設問はreturnのみで答える。最後の確認だけyを答えないとキャンセルになってしまうが。

Tomcatのserver.xmlの以下を書き換え。(コメントアウトされてるのを解除し、SSLHostConfigの属性値を追加)
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="c:/tomcatkeystore.jks"
                         type="RSA"
                         certificateKeystorePassword="password"
                         certificateKeyAlias="localhost"
                         />
        </SSLHostConfig>
    </Connector>

これで、「安全でないホスト」としての接続はできた。