java - 如何通过 Java SDK 在 Azure Key Vault 中创建 key ?

标签 java azure azure-keyvault

我需要使用JAVA SDK创建AzureKeyVault的 key 。我尝试使用给定的示例代码创建,但收到错误“java.lang.IllegalAccessError:尝试访问方法 com.fasterxml.jackson.databind.ser.std.StdSerializer。”

我不知道这个错误是关于什么的。您能帮我解决这个问题吗?

引用 - https://learn.microsoft.com/en-us/java/api/overview/azure/keyvault?view=azure-java-stable

代码-->

//Provided Azure AUTH details
TokenCredential tokenCredential = new BasicAuthenticationCredential(USERNAME, PASSWORD);
KeyClient keyClient = new KeyClientBuilder()
        .vaultUrl("https://XXXX.vault.azure.net")
        .credential(tokenCredential)
        .buildClient();
KeyVaultKey key = keyClient.createKey("test-key", KeyType.RSA);
System.out.println("** key creation completed **" + key.getProperties());

依赖关系 -->

<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-keys</artifactId>
<version>4.0.1</version>

错误-->

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer.<init>(Ljava/lang/Class;)V from class com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
    at com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.<init>(JavaTimeModule.java:144)
    at com.azure.core.util.serializer.JacksonAdapter.initializeObjectMapper(JacksonAdapter.java:255)
    at com.azure.core.util.serializer.JacksonAdapter.<init>(JacksonAdapter.java:71)
    at com.azure.core.util.serializer.JacksonAdapter.createDefaultSerializerAdapter(JacksonAdapter.java:105)
    at com.azure.core.http.rest.RestProxy.createDefaultSerializer(RestProxy.java:615)
    at com.azure.core.http.rest.RestProxy.create(RestProxy.java:667)
    at com.azure.security.keyvault.keys.KeyAsyncClient.<init>(KeyAsyncClient.java:86)
    at com.azure.security.keyvault.keys.KeyClientBuilder.buildAsyncClient(KeyClientBuilder.java:153)
    at com.azure.security.keyvault.keys.KeyClientBuilder.buildClient(KeyClientBuilder.java:98)
    at org.mule.modules.akv.Test.main(Test.java:31)

最佳答案

根据示例,您需要使用异步客户端,

 KeyAsyncClient keyAsyncClient = createAsyncClient();
 keyAsyncClient.createKey("keyName", KeyType.EC)

Example

关于java - 如何通过 Java SDK 在 Azure Key Vault 中创建 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59581262/

相关文章:

java - 从java中的项目文件夹(不是bin)加载图像

azure - Azure Service Fabric 使用哪些端口?

azure - 从 Azure Key Vault 引用中获取值(托管标识)

c# - 为什么发布 Azure Function 后出现内部服务器错误?

azure - 使用 KeyVault 和 Azure Data Lake Store 证书进行 ARM 部署

针对 key 保管库证书的 Azure 警报

java - 如何以数字格式获取当前日期和时区

java - hibernate原生SQL查询错误

java - 在 kubernetes 中绑定(bind)应用程序 pod 和数据库 pod

azure - 在 Azure Maps 中创建事件订阅时,创建系统主题失败