繁体   English   中英

如何通过 Java SDK 在 Azure Key Vault 中创建密钥?

[英]How to create key in Azure Key Vault by Java SDK?

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

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

参考 - https://docs.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM