我有一个密钥库(keystore.jks
),该密钥库受密码保护 。
我可以通过提供
-Djavax.net.ssl.keyStore
-Djavax.net.ssl.keyStorePassword
具有适当的值,只要密钥本身不受密码保护。
但是,我的特定密钥库包含多个密钥,每个密钥都需要密码来检索它们。
String keyStorePath = "/keystore.jks";
char[] keyStorePassword = "keyStorePassword".toCharArray();
String keyAlias = "keyAlias";
char[] keyPassword= "keyPassword".toCharArray();
KeyStore keyStore = KeyStore.getInstance("JKS");
try (InputStream is = this.getClass().getResourceAsStream(keyStorePath )) {
keyStore.load(is, keyStorePassword);
}
PrivateKey privateKey = (PrivateKey) keyStore.getKey(keyAlias, keyPassword);
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(keyAlias);
这是问题。
JMeter的Keystore Configuration
不允许您指定密钥的密码。
答案 0 :(得分:0)
环顾四周后,我得出结论认为目前(JMeter 5.0)无法实现。
通过在启动时提供以下属性来获取jmeter以使用密钥库中的证书:
-Djavax.net.ssl.keyStore
-Djavax.net.ssl.keyStorePassword
商店中的证书应与商店使用相同的密码,然后当您使用Keystore Configuration指定(持有证书的变量)证书别名时,它们将被毫无问题地拾取。