Azure java SDK 给出 - &gt; java.lang.RuntimeException:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径< /强>
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(options.getClientId(), options.getTenantId(), options.getClientSecret(), AzureEnvironment.AZURE);
subscriptionIds.forEach((subscriptionId)->{
Azure azure = Azure.authenticate(credentials).withSubscription(subscriptionId);
ResourceGroups resourceGroups = azure.resourceGroups();
for(ResourceGroup resourceGroup : resourceGroups.list()){
for(VirtualMachine virtualMachine : azure.virtualMachines().listByGroup(resourceGroup.name())){
logger.info(virtualMachine.name());
}
}
});
执行 for(ResourceGroup resourceGroup:resourceGroups.list())时出现此错误。 在网上看,我在密钥库中添加了management.azure.com的证书,但这也没有用。 看起来像azure建立连接,这就是ResourceGroups不为空的原因。但是不知道为什么它会在以后发出错误。
答案 0 :(得分:0)
根据我的经验,请确保为该特定版本的Java添加了Unlimited Cryptography的Java安全策略文件。如果没有,请按照以下步骤安装Java Cryptography Extension(JCE)Unlimited Strength Jurisdiction Policy Files,这些文件是使用PGP加密所必需的,某些连接器可能需要这些文件。