简体   繁体   中英

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

I need to create Key of AzureKeyVault using JAVA SDK. I tried to create with given sample code but i am getting error "java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer."

I don't know, what is this error about. Could you please help me to fix this issue.

Reference - https://docs.microsoft.com/en-us/java/api/overview/azure/keyvault?view=azure-java-stable

Code -->

//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 -->

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

Error -->

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)

As per the sample, you need to use the Async Client,

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

Example

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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