6.3.3. キーストア管理の変更点
Eclipse Vert.x 3.x では、KeyStoreOptions はキーストアの形式が jceks であると仮定し、保存されたパスワードはキーのパスワードと同じであることを前提としています。jceks はプロプライエタリー形式であるため、代わりに JDK などの標準形式を使用することが推奨されます。
Eclipse Vert.x 4 で KeyStoreOptions を使用する場合は、ストアタイプを指定できます。たとえば、PKCS11 や PKCS12 などのストアタイプを設定できます。デフォルトのストアタイプは jceks です。
Eclipse Vert.x 3.x では、すべてのキーストアエントリーが同じパスワード (キーストアパスワード) を共有します。Eclipse Vert.x 4 では、各キーストアエントリーに専用のパスワードを指定できます。各キーストアエントリーにパスワードを設定しない場合は、キーストアパスワードをすべてのエントリーのデフォルトパスワードとして設定できます。
以下の例は、Eclipse Vert.x 3.x で jceks キーストアを読み込む方法を示しています。
new KeyStoreOptions()
.setPath("path/to/keystore.jks")
.setPassword("keystore-password");
Eclipse Vert.x 4 では、デフォルトの形式は JDK によって設定されるデフォルトの形式であることを前提としています。形式は、Java 9 以降の PKCS12 です。
以下の例は、Eclipse Vert.x 4 で jceks キーストアを読み込む方法を示しています。
new KeyStoreOptions()
.setPath("path/to/keystore.jks")
// Modern JDKs use `jceks` keystore. But this type is not the default
// If the type is not set to `jceks` then probably `pkcs12` will be used
.setType("jceks")
.setPassword("keystore-password")
// optionally if your keys have different passwords
// and if a key specific id is not provided it defaults to
// the keystore password
.putPasswordProtection("key-id", "key-specific-password");