From 16a2ce597172f90ef168057c5909db26940bcb1d Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Mon, 12 Apr 2021 18:02:46 +0800 Subject: [PATCH 01/38] Disable jca integration test. --- sdk/keyvault/azure-security-keyvault-jca/pom.xml | 5 ++--- .../java/com/azure/security/keyvault/jca/AuthClientTest.java | 2 ++ .../azure/security/keyvault/jca/KeyVaultJcaProviderTest.java | 2 ++ .../azure/security/keyvault/jca/KeyVaultKeyStoreTest.java | 2 ++ .../keyvault/jca/KeyVaultLoadStoreParameterTest.java | 2 ++ .../com/azure/security/keyvault/jca/ServerSocketTest.java | 2 ++ 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-keyvault-jca/pom.xml index 3eed18576ef7e..a276d85a75a71 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-jca/pom.xml @@ -77,9 +77,6 @@ org.apache.maven.plugins maven-surefire-plugin 3.0.0-M3 - - true - org.jacoco @@ -207,5 +204,7 @@ UTF-8 + 0 + 0.05 diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index 1835a7bb651e9..f3302c78ae594 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -3,6 +3,7 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.net.URLEncoder; @@ -12,6 +13,7 @@ /** * The JUnit test for the AuthClient. */ +@Disabled public class AuthClientTest { /** diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 8169304c35e29..9c631e4474466 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -3,6 +3,7 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.security.KeyStore; @@ -14,6 +15,7 @@ /** * The JUnit tests for the KeyVaultProvider class. */ +@Disabled public class KeyVaultJcaProviderTest { /** diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 3f21b76a64847..bafc86f4fae2c 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -3,6 +3,7 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; @@ -20,6 +21,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ +@Disabled public class KeyVaultKeyStoreTest { /** diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index f042f23ba319b..139372d08054e 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -3,6 +3,7 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNull; @@ -10,6 +11,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ +@Disabled public class KeyVaultLoadStoreParameterTest { /** diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index 1b0fb270f273a..a5e93c249f156 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -14,6 +14,7 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.ssl.SSLContexts; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import javax.net.ssl.KeyManagerFactory; @@ -33,6 +34,7 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ +@Disabled public class ServerSocketTest { /** From 735d5dc840db001ebd76adcc80a4789f1540e3a5 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 14 Apr 2021 18:18:59 +0800 Subject: [PATCH 02/38] Add integration test for jca. --- .../keyvault/jca/KeyVaultKeyStore.java | 3 + .../keyvault/jca/KeyVaultClientTest.java | 55 +++++++++++++++++++ .../keyvault/jca/KeyVaultKeyManagerTest.java | 45 +++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java create mode 100644 sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java b/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java index 0825389a98c41..6ffdc71947b1b 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java @@ -136,6 +136,9 @@ public Certificate engineGetCertificate(String alias) { certificate = keyVaultClient.getCertificate(alias); if (certificate != null) { certificates.put(alias, certificate); + if (aliases == null) { + aliases = keyVaultClient.getAliases(); + } if (!aliases.contains(alias)) { aliases.add(alias); } diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java new file mode 100644 index 0000000000000..4f70d2d4d89dc --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -0,0 +1,55 @@ +package com.azure.security.keyvault.jca; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.security.cert.Certificate; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@Disabled +public class KeyVaultClientTest { + + @Test + public void testGetAliases() { + String tenantId = System.getProperty("azure.keyvault.tenant-id"); + String clientId = System.getProperty("azure.keyvault.client-id"); + String clientSecret = System.getProperty("azure.keyvault.client-secret"); + String keyVaultUri = System.getProperty("azure.keyvault.uri"); + KeyVaultClient keyVaultClient = new KeyVaultClient( + keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"), + tenantId, + clientId, + clientSecret); + List result = keyVaultClient.getAliases(); + assertNotNull(result); + } + + @Test + public void testGetCertificate() { + String tenantId = System.getProperty("azure.keyvault.tenant-id"); + String clientId = System.getProperty("azure.keyvault.client-id"); + String clientSecret = System.getProperty("azure.keyvault.client-secret"); + String keyVaultUri = System.getProperty("azure.keyvault.uri"); + KeyVaultClient keyVaultClient = new KeyVaultClient( + keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"), + tenantId, + clientId, + clientSecret); + Certificate certificate = keyVaultClient.getCertificate("gaohandecertificate"); + assertNotNull(certificate); + } + + @Test + public void testGetKey() { + String tenantId = System.getProperty("azure.keyvault.tenant-id"); + String clientId = System.getProperty("azure.keyvault.client-id"); + String clientSecret = System.getProperty("azure.keyvault.client-secret"); + String keyVaultUri = System.getProperty("azure.keyvault.uri"); + KeyVaultClient keyVaultClient = new KeyVaultClient( + keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"),tenantId,clientId,clientSecret); + assertNull(keyVaultClient.getKey("gaohandecertificate",null)); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java new file mode 100644 index 0000000000000..bcd5beee91a5f --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -0,0 +1,45 @@ +package com.azure.security.keyvault.jca; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.Security; +import java.security.cert.CertificateException; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +@Disabled +public class KeyVaultKeyManagerTest { + + private KeyVaultKeyManager manager; + + @BeforeEach + public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { + Security.insertProviderAt(new KeyVaultJcaProvider(), 1); + KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); + KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( + System.getProperty("azure.keyvault.uri"), + System.getProperty("azure.keyvault.aad-authentication-url"), + System.getProperty("azure.keyvault.tenant-id"), + System.getProperty("azure.keyvault.client-id"), + System.getProperty("azure.keyvault.client-secret")); + keyStore.load(parameter); + manager = new KeyVaultKeyManager(keyStore,null); + } + + @Test + public void testPrivateKey() { + assertNotNull(manager.getPrivateKey("gaohandecertificate")); + } + + + @Test + public void testGetCertificateChain() { + assertNotNull(manager.getCertificateChain("gaohandecertificate")); + } +} From d07181120c7a5a43f931e4ab529fef4e48a6e18e Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 14 Apr 2021 18:27:54 +0800 Subject: [PATCH 03/38] Add note. --- .../com/azure/security/keyvault/jca/KeyVaultClientTest.java | 3 +++ .../azure/security/keyvault/jca/KeyVaultKeyManagerTest.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 4f70d2d4d89dc..8526b393bdacd 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + package com.azure.security.keyvault.jca; import org.junit.jupiter.api.Disabled; diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index bcd5beee91a5f..552faa8cade9f 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + package com.azure.security.keyvault.jca; import org.junit.jupiter.api.BeforeEach; From 09a71cb0fd9f96534b6f26061d090844e496bdc8 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 15 Apr 2021 09:31:26 +0800 Subject: [PATCH 04/38] fix pipeline error. --- .../azure/security/keyvault/jca/KeyVaultClientTest.java | 8 ++++---- .../security/keyvault/jca/KeyVaultKeyManagerTest.java | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 8526b393bdacd..55aa115b29890 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -22,7 +22,7 @@ public void testGetAliases() { String clientSecret = System.getProperty("azure.keyvault.client-secret"); String keyVaultUri = System.getProperty("azure.keyvault.uri"); KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"), + keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), tenantId, clientId, clientSecret); @@ -37,7 +37,7 @@ public void testGetCertificate() { String clientSecret = System.getProperty("azure.keyvault.client-secret"); String keyVaultUri = System.getProperty("azure.keyvault.uri"); KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"), + keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), tenantId, clientId, clientSecret); @@ -52,7 +52,7 @@ public void testGetKey() { String clientSecret = System.getProperty("azure.keyvault.client-secret"); String keyVaultUri = System.getProperty("azure.keyvault.uri"); KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri,System.getProperty("azure.keyvault.aad-authentication-url"),tenantId,clientId,clientSecret); - assertNull(keyVaultClient.getKey("gaohandecertificate",null)); + keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), tenantId, clientId, clientSecret); + assertNull(keyVaultClient.getKey("gaohandecertificate", null)); } } diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 552faa8cade9f..91f9d6e5b6c7f 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -22,7 +22,8 @@ public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; @BeforeEach - public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { + public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, + CertificateException { Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( @@ -32,7 +33,7 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx System.getProperty("azure.keyvault.client-id"), System.getProperty("azure.keyvault.client-secret")); keyStore.load(parameter); - manager = new KeyVaultKeyManager(keyStore,null); + manager = new KeyVaultKeyManager(keyStore, null); } @Test From 48b2e34c9619ea3701697b08d1b12ba519a9a495 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 15 Apr 2021 09:52:01 +0800 Subject: [PATCH 05/38] Modify alias name. --- .../com/azure/security/keyvault/jca/KeyVaultClientTest.java | 4 ++-- .../azure/security/keyvault/jca/KeyVaultKeyManagerTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 55aa115b29890..0a23517d3501d 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -41,7 +41,7 @@ public void testGetCertificate() { tenantId, clientId, clientSecret); - Certificate certificate = keyVaultClient.getCertificate("gaohandecertificate"); + Certificate certificate = keyVaultClient.getCertificate("myalias"); assertNotNull(certificate); } @@ -53,6 +53,6 @@ public void testGetKey() { String keyVaultUri = System.getProperty("azure.keyvault.uri"); KeyVaultClient keyVaultClient = new KeyVaultClient( keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), tenantId, clientId, clientSecret); - assertNull(keyVaultClient.getKey("gaohandecertificate", null)); + assertNull(keyVaultClient.getKey("myalias", null)); } } diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 91f9d6e5b6c7f..42b6a0f2a872b 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -38,12 +38,12 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx @Test public void testPrivateKey() { - assertNotNull(manager.getPrivateKey("gaohandecertificate")); + assertNotNull(manager.getPrivateKey("myalias")); } @Test public void testGetCertificateChain() { - assertNotNull(manager.getCertificateChain("gaohandecertificate")); + assertNotNull(manager.getCertificateChain("myalias")); } } From bcfdf0c1a3be8b3b7629c46b5508799cf60dca58 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 16 Apr 2021 11:13:58 +0800 Subject: [PATCH 06/38] move integration test to a new model. --- .../keyvault/jca/KeyVaultClientTest.java | 58 ---------- .../CHANGELOG.md | 1 + .../README.md | 8 ++ .../azure-security-test-keyvault-jca/pom.xml | 108 ++++++++++++++++++ .../security/keyvault/jca/AuthClientIT.java} | 2 +- .../keyvault/jca/KeyVaultClientIT.java | 41 +++++++ .../keyvault/jca/KeyVaultJcaProviderIT.java} | 2 +- .../keyvault/jca/KeyVaultKeyManagerIT.java} | 2 +- .../keyvault/jca/KeyVaultKeyStoreIT.java} | 2 +- .../jca/KeyVaultLoadStoreParameterIT.java} | 2 +- .../keyvault/jca/ServerSocketIT.java} | 2 +- sdk/keyvault/pom.xml | 1 + 12 files changed, 165 insertions(+), 64 deletions(-) delete mode 100644 sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/CHANGELOG.md create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/README.md create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/pom.xml rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java} (97%) create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java} (97%) rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java} (97%) rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java} (99%) rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java} (94%) rename sdk/keyvault/{azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java => azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java} (99%) diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java deleted file mode 100644 index 0a23517d3501d..0000000000000 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.security.keyvault.jca; - -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; - -import java.security.cert.Certificate; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; - -@Disabled -public class KeyVaultClientTest { - - @Test - public void testGetAliases() { - String tenantId = System.getProperty("azure.keyvault.tenant-id"); - String clientId = System.getProperty("azure.keyvault.client-id"); - String clientSecret = System.getProperty("azure.keyvault.client-secret"); - String keyVaultUri = System.getProperty("azure.keyvault.uri"); - KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), - tenantId, - clientId, - clientSecret); - List result = keyVaultClient.getAliases(); - assertNotNull(result); - } - - @Test - public void testGetCertificate() { - String tenantId = System.getProperty("azure.keyvault.tenant-id"); - String clientId = System.getProperty("azure.keyvault.client-id"); - String clientSecret = System.getProperty("azure.keyvault.client-secret"); - String keyVaultUri = System.getProperty("azure.keyvault.uri"); - KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), - tenantId, - clientId, - clientSecret); - Certificate certificate = keyVaultClient.getCertificate("myalias"); - assertNotNull(certificate); - } - - @Test - public void testGetKey() { - String tenantId = System.getProperty("azure.keyvault.tenant-id"); - String clientId = System.getProperty("azure.keyvault.client-id"); - String clientSecret = System.getProperty("azure.keyvault.client-secret"); - String keyVaultUri = System.getProperty("azure.keyvault.uri"); - KeyVaultClient keyVaultClient = new KeyVaultClient( - keyVaultUri, System.getProperty("azure.keyvault.aad-authentication-url"), tenantId, clientId, clientSecret); - assertNull(keyVaultClient.getKey("myalias", null)); - } -} diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/CHANGELOG.md b/sdk/keyvault/azure-security-test-keyvault-jca/CHANGELOG.md new file mode 100644 index 0000000000000..125a8d83d2203 --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/CHANGELOG.md @@ -0,0 +1 @@ +# Release History diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/README.md b/sdk/keyvault/azure-security-test-keyvault-jca/README.md new file mode 100644 index 0000000000000..12b6a7daf1cee --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/README.md @@ -0,0 +1,8 @@ +# Azure Key Vault JCA client library for Java Test + +## Key concepts +## Getting started +## Examples +## Troubleshooting +## Next steps +## Contributing diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml new file mode 100644 index 0000000000000..c78af29fed3b5 --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -0,0 +1,108 @@ + + + 4.0.0 + + + azure-client-sdk-parent + com.azure + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-security-test-keyvault-jca + 1.0.0-beta.6 + JCA Provider for Azure Key Vault Test + The Java Crypto Architecture (JCA) Provider for Azure Key Vault Test + + + true + + + + com.azure + azure-security-keyvault-jca + 1.0.0-beta.6 + + + junit + junit + 4.13.2 + test + + + + org.apache.httpcomponents.client5 + httpclient5 + 5.0.3 + test + + + org.conscrypt + conscrypt-openjdk-uber + 2.2.1 + test + + + + com.fasterxml.jackson.core + jackson-databind + 2.12.1 + test + + + + org.junit.jupiter + junit-jupiter-api + 5.7.1 + test + + + org.junit.jupiter + junit-jupiter-params + 5.7.1 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.7.1 + test + + + org.slf4j + slf4j-nop + 1.7.30 + test + + + org.springframework + spring-core + 5.3.5 + test + + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.22.0 + + + default + + integration-test + + + ${skipSpringITs} + + + + + + + \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java similarity index 97% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java index f3302c78ae594..a98c895ebc8fb 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java @@ -14,7 +14,7 @@ * The JUnit test for the AuthClient. */ @Disabled -public class AuthClientTest { +public class AuthClientIT { /** * Test getAuthorizationToken method. diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java new file mode 100644 index 0000000000000..3667f18e37a55 --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.jca; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@Disabled +public class KeyVaultClientIT { + private KeyVaultClient keyVaultClient; + + @BeforeEach + public void setEnvironmentProperty() { + keyVaultClient = new KeyVaultClient( + System.getProperty("azure.keyvault.uri"), + System.getProperty("azure.keyvault.aad-authentication-url"), + System.getProperty("azure.keyvault.tenant-id"), + System.getProperty("azure.keyvault.client-id"), + System.getProperty("azure.keyvault.client-secret")); + } + + @Test + public void testGetAliases() { + assertNotNull(keyVaultClient.getAliases()); + } + + @Test + public void testGetCertificate() { + assertNotNull(keyVaultClient.getCertificate("myalias")); + } + + @Test + public void testGetKey() { + assertNull(keyVaultClient.getKey("myalias", null)); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java similarity index 97% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java index 9c631e4474466..a1c8def3c1372 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java @@ -16,7 +16,7 @@ * The JUnit tests for the KeyVaultProvider class. */ @Disabled -public class KeyVaultJcaProviderTest { +public class KeyVaultJcaProviderIT { /** * Test the constructor. diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java similarity index 97% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java index 42b6a0f2a872b..8d9c0a1244dde 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java @@ -17,7 +17,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; @Disabled -public class KeyVaultKeyManagerTest { +public class KeyVaultKeyManagerIT { private KeyVaultKeyManager manager; diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java similarity index 99% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java index bafc86f4fae2c..f3e94a02e6156 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java @@ -22,7 +22,7 @@ * The JUnit tests for the KeyVaultKeyStore class. */ @Disabled -public class KeyVaultKeyStoreTest { +public class KeyVaultKeyStoreIT { /** * Stores the CER test certificate (which is valid til 2120). diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java similarity index 94% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java index 139372d08054e..9e6d0bd25547b 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java @@ -12,7 +12,7 @@ * The JUnit tests for the KeyVaultLoadStoreParameter class. */ @Disabled -public class KeyVaultLoadStoreParameterTest { +public class KeyVaultLoadStoreParameterIT { /** * Test getProtectionParameter method. diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java similarity index 99% rename from sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java index a5e93c249f156..b2046d855499e 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java @@ -35,7 +35,7 @@ * from Azure Key Vault. */ @Disabled -public class ServerSocketTest { +public class ServerSocketIT { /** * Test SSLServerSocket without client trust. diff --git a/sdk/keyvault/pom.xml b/sdk/keyvault/pom.xml index 2450016846062..d7aa0401bf913 100644 --- a/sdk/keyvault/pom.xml +++ b/sdk/keyvault/pom.xml @@ -77,6 +77,7 @@ microsoft-azure-keyvault-cryptography microsoft-azure-keyvault-extensions microsoft-azure-keyvault-test + azure-security-test-keyvault-jca azure-security-keyvault-administration azure-security-keyvault-certificates azure-security-keyvault-jca From aa24e31ada66e3a278260499c31eaaf18f17ca7a Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 14:40:55 +0800 Subject: [PATCH 07/38] Add resources.json --- .../test-resources.json | 261 ++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json b/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json new file mode 100644 index 0000000000000..7071ee99d9958 --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json @@ -0,0 +1,261 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "baseName": { + "type": "string" + }, + "testApplicationOid": { + "type": "String" + }, + "testApplicationId": { + "type": "String" + }, + "testApplicationSecret": { + "type": "String" + }, + "endpointSuffix": { + "defaultValue": "vault.azure.net", + "type": "String" + }, + "enabledForDeployment": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "enabledForDiskEncryption": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "enabledForTemplateDeployment": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "tenantId": { + "type": "string" + }, + "keysPermissions": { + "type": "array", + "defaultValue": [ + "list" + ] + }, + "secretsPermissions": { + "type": "array", + "defaultValue": [ + "list" + ] + }, + "skuName": { + "type": "string", + "defaultValue": "Standard", + "allowedValues": [ + "Standard", + "Premium" + ] + }, + "identityName": { + "type": "string", + "defaultValue" : "myalias" + }, + "certificatesPermissions": { + "type": "array", + "defaultValue": [ + "get", + "list", + "update", + "create" + ] + }, + "certificateName": { + "type": "string", + "defaultValue": "DeploymentScripts2019" + }, + "subjectName": { + "type": "string", + "defaultValue": "CN=contoso.com" + }, + "utcValue": { + "type": "string", + "defaultValue": "[utcNow()]" + } + }, + "variables": { + "keyVaultName": "[parameters('baseName')]", + "location": "[resourceGroup().location]", + "azureKeyVaultUri": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]", + "bootstrapRoleAssignmentId": "[guid(concat(resourceGroup().id, 'contributor'))]", + "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]" + }, + "resources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "apiVersion": "2018-11-30", + "name": "[parameters('identityName')]", + "location": "[resourceGroup().location]" + }, + { + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "2018-09-01-preview", + "name": "[variables('bootstrapRoleAssignmentId')]", + "dependsOn": [ + "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]" + ], + "properties": { + "roleDefinitionId": "[variables('contributorRoleDefinitionId')]", + "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", + "scope": "[resourceGroup().id]", + "principalType": "ServicePrincipal" + } + }, + { + "type": "Microsoft.KeyVault/vaults", + "apiVersion": "2018-02-14", + "name": "[variables('keyVaultName')]", + "location": "[variables('location')]", + "properties": { + "enabledForDeployment": "[parameters('enabledForDeployment')]", + "enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]", + "enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]", + "tenantId": "[parameters('tenantId')]", + "accessPolicies": [ + { + "objectId": "[parameters('testApplicationOid')]", + "tenantId": "[parameters('tenantId')]", + "permissions": { + "keys": "[parameters('keysPermissions')]", + "secrets": "[parameters('secretsPermissions')]", + "certificates": "[parameters('certificatesPermissions')]" + } + }, + { + "objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", + "tenantId": "[parameters('tenantId')]", + "permissions": { + "keys": "[parameters('keysPermissions')]", + "secrets": "[parameters('secretsPermissions')]", + "certificates": "[parameters('certificatesPermissions')]" + } + } + ], + "sku": { + "name": "[parameters('skuName')]", + "family": "A" + }, + "networkAcls": { + "defaultAction": "Allow", + "bypass": "AzureServices" + } + } + }, + { + "type": "Microsoft.Resources/deploymentScripts", + "apiVersion": "2020-10-01", + "name": "createAddCertificate", + "location": "[resourceGroup().location]", + "dependsOn": [ + "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", + "[resourceId('Microsoft.Authorization/roleAssignments', variables('bootstrapRoleAssignmentId'))]" + ], + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]": { + } + } + }, + "kind": "AzurePowerShell", + "properties": { + "forceUpdateTag": "[parameters('utcValue')]", + "azPowerShellVersion": "5.0", + "timeout": "PT30M", + "arguments": "[format(' -vaultName {0} -certificateName {1} -subjectName {2}', variables('keyVaultName'), parameters('certificateName'), parameters('subjectName'))]", + "scriptContent": " + param( + [string] [Parameter(Mandatory=$true)] $vaultName, + [string] [Parameter(Mandatory=$true)] $certificateName, + [string] [Parameter(Mandatory=$true)] $subjectName + ) + + $ErrorActionPreference = 'Stop' + $DeploymentScriptOutputs = @{} + + $existingCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName + + if ($existingCert -and $existingCert.Certificate.Subject -eq $subjectName) { + + Write-Host 'Certificate $certificateName in vault $vaultName is already present.' + + $DeploymentScriptOutputs['certThumbprint'] = $existingCert.Thumbprint + $existingCert | Out-String + } + else { + $policy = New-AzKeyVaultCertificatePolicy -SubjectName $subjectName -IssuerName Self -ValidityInMonths 12 -Verbose + + # private key is added as a secret that can be retrieved in the ARM template + Add-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName -CertificatePolicy $policy -Verbose + + $newCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName + + # it takes a few seconds for KeyVault to finish + $tries = 0 + do { + Write-Host 'Waiting for certificate creation completion...' + Start-Sleep -Seconds 10 + $operation = Get-AzKeyVaultCertificateOperation -VaultName $vaultName -Name $certificateName + $tries++ + + if ($operation.Status -eq 'failed') + { + throw 'Creating certificate $certificateName in vault $vaultName failed with error $($operation.ErrorMessage)' + } + + if ($tries -gt 120) + { + throw 'Timed out waiting for creation of certificate $certificateName in vault $vaultName' + } + } while ($operation.Status -ne 'completed') + + $DeploymentScriptOutputs['certThumbprint'] = $newCert.Thumbprint + $newCert | Out-String + } + ", + "cleanupPreference": "OnSuccess", + "retentionInterval": "P1D" + } + } + ], + "outputs": { + "AZURE_KEYVAULT_URI": { + "type": "string", + "value": "[variables('azureKeyVaultUri')]" + }, + "SPRING_TENANT_ID": { + "type": "string", + "value": "[parameters('tenantId')]" + }, + "SPRING_CLIENT_ID": { + "type": "string", + "value": "[parameters('testApplicationId')]" + }, + "SPRING_CLIENT_SECRET": { + "type": "string", + "value": "[parameters('testApplicationSecret')]" + }, + "AZURE_CERTIFICATE_NAME": { + "type": "string", + "value": "[parameters('certificateName')]" + } + } +} \ No newline at end of file From 9b41ba9efce6862a2a5e159cec0adc4f598886e1 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 14:42:44 +0800 Subject: [PATCH 08/38] enable integration. --- .../java/com/azure/security/keyvault/jca/AuthClientIT.java | 3 +-- .../com/azure/security/keyvault/jca/KeyVaultClientIT.java | 2 -- .../azure/security/keyvault/jca/KeyVaultJcaProviderIT.java | 2 -- .../com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java | 2 -- .../com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java | 2 -- .../security/keyvault/jca/KeyVaultLoadStoreParameterIT.java | 2 -- .../java/com/azure/security/keyvault/jca/ServerSocketIT.java | 2 -- .../azure-spring-boot-sample-active-directory-webapp/pom.xml | 4 ++++ 8 files changed, 5 insertions(+), 14 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java index a98c895ebc8fb..c2698691c8c92 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.net.URLEncoder; @@ -13,7 +12,7 @@ /** * The JUnit test for the AuthClient. */ -@Disabled + public class AuthClientIT { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java index 3667f18e37a55..f5a716b84c315 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java @@ -4,13 +4,11 @@ package com.azure.security.keyvault.jca; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -@Disabled public class KeyVaultClientIT { private KeyVaultClient keyVaultClient; diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java index a1c8def3c1372..c42867974730b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.security.KeyStore; @@ -15,7 +14,6 @@ /** * The JUnit tests for the KeyVaultProvider class. */ -@Disabled public class KeyVaultJcaProviderIT { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java index 8d9c0a1244dde..8195bbf41de60 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java @@ -4,7 +4,6 @@ package com.azure.security.keyvault.jca; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -16,7 +15,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; -@Disabled public class KeyVaultKeyManagerIT { private KeyVaultKeyManager manager; diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java index f3e94a02e6156..5fbf6bdff27c6 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; @@ -21,7 +20,6 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ -@Disabled public class KeyVaultKeyStoreIT { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java index 9e6d0bd25547b..a4a20e2c74795 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNull; @@ -11,7 +10,6 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -@Disabled public class KeyVaultLoadStoreParameterIT { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java index b2046d855499e..5c6c3aae41390 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java @@ -14,7 +14,6 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.ssl.SSLContexts; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import javax.net.ssl.KeyManagerFactory; @@ -34,7 +33,6 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ -@Disabled public class ServerSocketIT { /** diff --git a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml index 193f1df8d4f87..f8b9488d6acdb 100644 --- a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml +++ b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml @@ -43,6 +43,10 @@ org.springframework.boot spring-boot-starter-thymeleaf + + org.springframework.boot + spring-boot-starter-oauth2-resource-server + org.springframework.boot spring-boot-starter-security From d41c0e097057b6802c30507665a2147f57d4c7ff Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 15:01:00 +0800 Subject: [PATCH 09/38] fix conflict. --- .../java/com/azure/security/keyvault/jca/AuthClientIT.java | 4 +--- .../azure/security/keyvault/jca/KeyVaultJcaProviderIT.java | 4 +--- .../com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java | 1 - .../com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java | 4 +--- .../security/keyvault/jca/KeyVaultLoadStoreParameterIT.java | 4 +--- .../java/com/azure/security/keyvault/jca/ServerSocketIT.java | 4 +--- .../azure/spring/sample/aad/controller/WebApiController.java | 2 +- 7 files changed, 6 insertions(+), 17 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java index f3302c78ae594..64f4bc8016458 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.net.URLEncoder; @@ -13,8 +12,7 @@ /** * The JUnit test for the AuthClient. */ -@Disabled -public class AuthClientTest { +public class AuthClientIT { /** * Test getAuthorizationToken method. diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java index 4816630a26402..23ff04c102c6f 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.security.KeyStore; @@ -15,8 +14,7 @@ /** * The JUnit tests for the KeyVaultProvider class. */ -@Disabled -public class KeyVaultJcaProviderTest { +public class KeyVaultJcaProviderIT { /** * Test the constructor. diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java index 8195bbf41de60..c30d6df4fcad0 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java @@ -26,7 +26,6 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.aad-authentication-url"), System.getProperty("azure.keyvault.tenant-id"), System.getProperty("azure.keyvault.client-id"), System.getProperty("azure.keyvault.client-secret")); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java index 9e33bcaf0f8df..48e12d0de9fa5 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; @@ -21,8 +20,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ -@Disabled -public class KeyVaultKeyStoreTest { +public class KeyVaultKeyStoreIT { /** * Stores the CER test certificate (which is valid til 2120). diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java index aee130668cec0..26bc368dd5951 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNull; @@ -11,8 +10,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -@Disabled -public class KeyVaultLoadStoreParameterTest { +public class KeyVaultLoadStoreParameterIT { /** * Test getProtectionParameter method. diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java index 63b43fbdd6742..e2c840b5e210f 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java @@ -14,7 +14,6 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.ssl.SSLContexts; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import javax.net.ssl.KeyManagerFactory; @@ -34,8 +33,7 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ -@Disabled -public class ServerSocketTest { +public class ServerSocketIT { /** * Test SSLServerSocket without client trust. diff --git a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java index 8d20903c0785a..6d1c97f35c71b 100644 --- a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java +++ b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java @@ -21,7 +21,7 @@ public class WebApiController { private static final Logger LOGGER = LoggerFactory.getLogger(WebApiController.class); - private static final String CUSTOM_LOCAL_FILE_ENDPOINT = "http://localhost:8081/webapiA"; + private static final String CUSTOM_LOCAL_FILE_ENDPOINT = "http://localhost:8081/webapiA/webapiB"; @Autowired private WebClient webClient; From a7f7ee4cc9dc4d9e5d72fe48c25638f5f3388176 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 15:12:13 +0800 Subject: [PATCH 10/38] Delete unnecessary changes. --- .../azure-spring-boot-sample-active-directory-webapp/pom.xml | 4 ---- .../azure/spring/sample/aad/controller/WebApiController.java | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml index 53912f54a0dcc..3fa76c76f9345 100644 --- a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml +++ b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/pom.xml @@ -43,10 +43,6 @@ org.springframework.boot spring-boot-starter-thymeleaf - - org.springframework.boot - spring-boot-starter-oauth2-resource-server - org.springframework.boot spring-boot-starter-security diff --git a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java index 6d1c97f35c71b..8d20903c0785a 100644 --- a/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java +++ b/sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-webapp/src/main/java/com/azure/spring/sample/aad/controller/WebApiController.java @@ -21,7 +21,7 @@ public class WebApiController { private static final Logger LOGGER = LoggerFactory.getLogger(WebApiController.class); - private static final String CUSTOM_LOCAL_FILE_ENDPOINT = "http://localhost:8081/webapiA/webapiB"; + private static final String CUSTOM_LOCAL_FILE_ENDPOINT = "http://localhost:8081/webapiA"; @Autowired private WebClient webClient; From 8620e0c7686d37e77833bb54f3a58c7329fde45c Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 16:12:45 +0800 Subject: [PATCH 11/38] fix pipeline error. --- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index c78af29fed3b5..246d81667acd4 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -33,11 +33,11 @@ test + - org.apache.httpcomponents.client5 - httpclient5 - 5.0.3 - test + org.apache.httpcomponents + httpclient + 4.5.13 org.conscrypt From a76502d5da823a6b37304e4350cfdc5f122150ef Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 16:45:07 +0800 Subject: [PATCH 12/38] fix pipeline error. --- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 246d81667acd4..ab3d13f73d1fe 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -13,7 +13,7 @@ com.azure azure-security-test-keyvault-jca - 1.0.0-beta.6 + 1.0.0-beta.7 JCA Provider for Azure Key Vault Test The Java Crypto Architecture (JCA) Provider for Azure Key Vault Test @@ -24,7 +24,7 @@ com.azure azure-security-keyvault-jca - 1.0.0-beta.6 + 1.0.0-beta.7 junit @@ -49,7 +49,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.1 + 2.12.2 test @@ -80,7 +80,7 @@ org.springframework spring-core - 5.3.5 + 5.3.5 test From 246e0dd663ef0b56f2ceb2451f62665fa6168cdc Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 20 Apr 2021 17:30:50 +0800 Subject: [PATCH 13/38] fix pipeline error. --- eng/versioning/version_client.txt | 1 + sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 621da5b619c13..bc323410523a7 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -100,6 +100,7 @@ com.azure:azure-security-attestation;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-security-keyvault-administration;4.0.0-beta.6;4.0.0-beta.7 com.azure:azure-security-keyvault-certificates;4.1.7;4.2.0-beta.6 com.azure:azure-security-keyvault-jca;1.0.0-beta.6;1.0.0-beta.7 +com.azure:azure-security-test-keyvault-jca;1.0.0-beta.7 com.azure:azure-security-keyvault-keys;4.2.7;4.3.0-beta.7 com.azure:azure-security-keyvault-secrets;4.2.7;4.3.0-beta.6 com.azure:azure-sdk-template;1.2.1-beta.2;1.2.1-beta.16 diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index ab3d13f73d1fe..652c3a25b99cf 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -38,6 +38,7 @@ org.apache.httpcomponents httpclient 4.5.13 + test org.conscrypt From a933415c7806922ffbac5a3039b9b3286739a2eb Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 21 Apr 2021 16:48:55 +0800 Subject: [PATCH 14/38] fix pipeline. --- eng/versioning/version_client.txt | 2 +- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 2 +- .../azure-security-test-keyvault-jca/test-resources.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index bc323410523a7..3f45948658526 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -100,7 +100,7 @@ com.azure:azure-security-attestation;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-security-keyvault-administration;4.0.0-beta.6;4.0.0-beta.7 com.azure:azure-security-keyvault-certificates;4.1.7;4.2.0-beta.6 com.azure:azure-security-keyvault-jca;1.0.0-beta.6;1.0.0-beta.7 -com.azure:azure-security-test-keyvault-jca;1.0.0-beta.7 +com.azure:azure-security-test-keyvault-jca;1.0.0-beta.7;1.0.0-beta.7 com.azure:azure-security-keyvault-keys;4.2.7;4.3.0-beta.7 com.azure:azure-security-keyvault-secrets;4.2.7;4.3.0-beta.6 com.azure:azure-sdk-template;1.2.1-beta.2;1.2.1-beta.16 diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 652c3a25b99cf..b585e29f910d8 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -81,7 +81,7 @@ org.springframework spring-core - 5.3.5 + 5.3.4 test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json b/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json index 7071ee99d9958..c198cf7a576ed 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json +++ b/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json @@ -258,4 +258,4 @@ "value": "[parameters('certificateName')]" } } -} \ No newline at end of file +} From 756ed53f9788ef8ef526830e3f490ca92e7982b3 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 23 Apr 2021 17:39:45 +0800 Subject: [PATCH 15/38] Remove resource.json file in azure-security-test-keyvault-jca module and add the content to resource.json in azure-keyvault-service module. --- eng/versioning/version_client.txt | 2 +- .../azure-security-test-keyvault-jca/pom.xml | 2 +- ...{AuthClientIT.java => AuthClientTest.java} | 8 +- ...tClientIT.java => KeyVaultClientTest.java} | 18 +- ...erIT.java => KeyVaultJcaProviderTest.java} | 12 +- ...gerIT.java => KeyVaultKeyManagerTest.java} | 16 +- ...StoreIT.java => KeyVaultKeyStoreTest.java} | 80 +--- ...va => KeyVaultLoadStoreParameterTest.java} | 10 +- ...verSocketIT.java => ServerSocketTest.java} | 2 +- .../test-resources.json | 261 ----------- sdk/keyvault/test-resources.json | 413 ++++++++++++++---- sdk/keyvault/tests.yml | 7 + 12 files changed, 379 insertions(+), 452 deletions(-) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{AuthClientIT.java => AuthClientTest.java} (77%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{KeyVaultClientIT.java => KeyVaultClientTest.java} (53%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{KeyVaultJcaProviderIT.java => KeyVaultJcaProviderTest.java} (75%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{KeyVaultKeyManagerIT.java => KeyVaultKeyManagerTest.java} (67%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{KeyVaultKeyStoreIT.java => KeyVaultKeyStoreTest.java} (58%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{KeyVaultLoadStoreParameterIT.java => KeyVaultLoadStoreParameterTest.java} (70%) rename sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/{ServerSocketIT.java => ServerSocketTest.java} (99%) delete mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 3f45948658526..549d4444f2aaa 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -100,7 +100,7 @@ com.azure:azure-security-attestation;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-security-keyvault-administration;4.0.0-beta.6;4.0.0-beta.7 com.azure:azure-security-keyvault-certificates;4.1.7;4.2.0-beta.6 com.azure:azure-security-keyvault-jca;1.0.0-beta.6;1.0.0-beta.7 -com.azure:azure-security-test-keyvault-jca;1.0.0-beta.7;1.0.0-beta.7 +com.azure:azure-security-test-keyvault-jca;1.0.0;1.0.0 com.azure:azure-security-keyvault-keys;4.2.7;4.3.0-beta.7 com.azure:azure-security-keyvault-secrets;4.2.7;4.3.0-beta.6 com.azure:azure-sdk-template;1.2.1-beta.2;1.2.1-beta.16 diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index b585e29f910d8..0478252fad05d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -13,7 +13,7 @@ com.azure azure-security-test-keyvault-jca - 1.0.0-beta.7 + 1.0.0 JCA Provider for Azure Key Vault Test The Java Crypto Architecture (JCA) Provider for Azure Key Vault Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java similarity index 77% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index 64f4bc8016458..9cc4a0cbbc024 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -12,7 +12,7 @@ /** * The JUnit test for the AuthClient. */ -public class AuthClientIT { +public class AuthClientTest { /** * Test getAuthorizationToken method. @@ -21,9 +21,9 @@ public class AuthClientIT { */ @Test public void testGetAuthorizationToken() throws Exception { - String tenantId = System.getProperty("azure.keyvault.tenant-id"); - String clientId = System.getProperty("azure.keyvault.client-id"); - String clientSecret = System.getProperty("azure.keyvault.client-secret"); + String tenantId = System.getenv("SPRING_TENANT_ID"); + String clientId = System.getenv("SPRING_CLIENT_ID"); + String clientSecret = System.getenv("SPRING_CLIENT_SECRET"); AuthClient authClient = new AuthClient(); String result = authClient.getAccessToken( "https://management.azure.com/", diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java similarity index 53% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index f5a716b84c315..de191490e5fa2 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -9,17 +9,19 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -public class KeyVaultClientIT { +public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; + private String AZURE_KEYVAULT_CERTIFICATE_NAME; @BeforeEach public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.aad-authentication-url"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("azure.keyvault.aad-authentication-url"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET")); + AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_CERTIFICATE_NAME"); } @Test @@ -29,11 +31,11 @@ public void testGetAliases() { @Test public void testGetCertificate() { - assertNotNull(keyVaultClient.getCertificate("myalias")); + assertNotNull(keyVaultClient.getCertificate(AZURE_KEYVAULT_CERTIFICATE_NAME)); } @Test public void testGetKey() { - assertNull(keyVaultClient.getKey("myalias", null)); + assertNull(keyVaultClient.getKey(AZURE_KEYVAULT_CERTIFICATE_NAME, null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java similarity index 75% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 23ff04c102c6f..c0b80069403c0 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -14,7 +14,7 @@ /** * The JUnit tests for the KeyVaultProvider class. */ -public class KeyVaultJcaProviderIT { +public class KeyVaultJcaProviderTest { /** * Test the constructor. @@ -35,11 +35,11 @@ public void testGetCertificate() throws Exception { Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET")); keystore.load(parameter); - assertNull(keystore.getCertificate("myalias")); + assertNull(keystore.getCertificate(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"))); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java similarity index 67% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index c30d6df4fcad0..88573925041df 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -15,9 +15,10 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; -public class KeyVaultKeyManagerIT { +public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; + private String AZURE_KEYVAULT_CERTIFICATE_NAME; @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, @@ -25,22 +26,23 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET")); keyStore.load(parameter); manager = new KeyVaultKeyManager(keyStore, null); + AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test public void testPrivateKey() { - assertNotNull(manager.getPrivateKey("myalias")); + assertNotNull(manager.getPrivateKey(AZURE_KEYVAULT_CERTIFICATE_NAME)); } @Test public void testGetCertificateChain() { - assertNotNull(manager.getCertificateChain("myalias")); + assertNotNull(manager.getCertificateChain(AZURE_KEYVAULT_CERTIFICATE_NAME)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java similarity index 58% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 48e12d0de9fa5..67e5c0eda41a1 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -3,6 +3,7 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; @@ -20,7 +21,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ -public class KeyVaultKeyStoreIT { +public class KeyVaultKeyStoreTest { /** * Stores the CER test certificate (which is valid til 2120). @@ -46,63 +47,44 @@ public class KeyVaultKeyStoreIT { + "U/aIAdQRfDaSE9jhtcVu5d5kCgBs7nz5AzeCisDPo5zIt4Mxej3iVaAJ79oEbHOE" + "p192KLXLV/pscA4Wgb+PJ8AAEa5B6xq8p9JO+Q=="; - @Test - public void testEngineGetCertificate() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); + private KeyVaultKeyStore keystore; + + private String AZURE_KEYVAULT_CERTIFICATE_NAME; + + @BeforeEach + public void setEnvironmentProperty() { + keystore = new KeyVaultKeyStore(); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getProperty("azure.keyvault.uri"), System.getProperty("azure.keyvault.tenant-id"), System.getProperty("azure.keyvault.client-id"), System.getProperty("azure.keyvault.client-secret")); keystore.engineLoad(parameter); - assertNull(keystore.engineGetCertificate("myalias")); + AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + } + + @Test + public void testEngineGetCertificate() { + assertNull(keystore.engineGetCertificate(AZURE_KEYVAULT_CERTIFICATE_NAME)); } @Test public void testEngineGetCertificateAlias() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); assertNull(keystore.engineGetCertificateAlias(null)); } @Test public void testEngineGetCertificateChain() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); - assertNull(keystore.engineGetCertificateChain("myalias")); + assertNull(keystore.engineGetCertificateChain(AZURE_KEYVAULT_CERTIFICATE_NAME)); } @Test public void testEngineIsCertificateEntry() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); - assertFalse(keystore.engineIsCertificateEntry("myalias")); + assertFalse(keystore.engineIsCertificateEntry(AZURE_KEYVAULT_CERTIFICATE_NAME)); } @Test public void testEngineSetCertificateEntry() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); X509Certificate certificate; @@ -120,25 +102,11 @@ public void testEngineSetCertificateEntry() { @Test public void testEngineGetKey() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); assertNull(keystore.engineGetKey("myalias", null)); } @Test public void testEngineIsKeyEntry() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); assertFalse(keystore.engineIsKeyEntry("myalias")); } @@ -156,25 +124,11 @@ public void testEngineSetKeyEntry2() { @Test public void testEngineAliases() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); assertTrue(keystore.engineAliases().hasMoreElements()); } @Test public void testEngineContainsAlias() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); - keystore.engineLoad(parameter); assertFalse(keystore.engineContainsAlias("myalias")); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java similarity index 70% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index 26bc368dd5951..c9641e84ee266 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -10,7 +10,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -public class KeyVaultLoadStoreParameterIT { +public class KeyVaultLoadStoreParameterTest { /** * Test getProtectionParameter method. @@ -18,10 +18,10 @@ public class KeyVaultLoadStoreParameterIT { @Test public void testGetProtectionParameter() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - null, - null, - null + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET") ); assertNull(parameter.getProtectionParameter()); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java similarity index 99% rename from sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java rename to sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index e2c840b5e210f..6d6fc70564b32 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketIT.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -33,7 +33,7 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ -public class ServerSocketIT { +public class ServerSocketTest { /** * Test SSLServerSocket without client trust. diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json b/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json deleted file mode 100644 index c198cf7a576ed..0000000000000 --- a/sdk/keyvault/azure-security-test-keyvault-jca/test-resources.json +++ /dev/null @@ -1,261 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "baseName": { - "type": "string" - }, - "testApplicationOid": { - "type": "String" - }, - "testApplicationId": { - "type": "String" - }, - "testApplicationSecret": { - "type": "String" - }, - "endpointSuffix": { - "defaultValue": "vault.azure.net", - "type": "String" - }, - "enabledForDeployment": { - "type": "bool", - "defaultValue": false, - "allowedValues": [ - true, - false - ] - }, - "enabledForDiskEncryption": { - "type": "bool", - "defaultValue": false, - "allowedValues": [ - true, - false - ] - }, - "enabledForTemplateDeployment": { - "type": "bool", - "defaultValue": false, - "allowedValues": [ - true, - false - ] - }, - "tenantId": { - "type": "string" - }, - "keysPermissions": { - "type": "array", - "defaultValue": [ - "list" - ] - }, - "secretsPermissions": { - "type": "array", - "defaultValue": [ - "list" - ] - }, - "skuName": { - "type": "string", - "defaultValue": "Standard", - "allowedValues": [ - "Standard", - "Premium" - ] - }, - "identityName": { - "type": "string", - "defaultValue" : "myalias" - }, - "certificatesPermissions": { - "type": "array", - "defaultValue": [ - "get", - "list", - "update", - "create" - ] - }, - "certificateName": { - "type": "string", - "defaultValue": "DeploymentScripts2019" - }, - "subjectName": { - "type": "string", - "defaultValue": "CN=contoso.com" - }, - "utcValue": { - "type": "string", - "defaultValue": "[utcNow()]" - } - }, - "variables": { - "keyVaultName": "[parameters('baseName')]", - "location": "[resourceGroup().location]", - "azureKeyVaultUri": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]", - "bootstrapRoleAssignmentId": "[guid(concat(resourceGroup().id, 'contributor'))]", - "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]" - }, - "resources": [ - { - "type": "Microsoft.ManagedIdentity/userAssignedIdentities", - "apiVersion": "2018-11-30", - "name": "[parameters('identityName')]", - "location": "[resourceGroup().location]" - }, - { - "type": "Microsoft.Authorization/roleAssignments", - "apiVersion": "2018-09-01-preview", - "name": "[variables('bootstrapRoleAssignmentId')]", - "dependsOn": [ - "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]" - ], - "properties": { - "roleDefinitionId": "[variables('contributorRoleDefinitionId')]", - "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", - "scope": "[resourceGroup().id]", - "principalType": "ServicePrincipal" - } - }, - { - "type": "Microsoft.KeyVault/vaults", - "apiVersion": "2018-02-14", - "name": "[variables('keyVaultName')]", - "location": "[variables('location')]", - "properties": { - "enabledForDeployment": "[parameters('enabledForDeployment')]", - "enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]", - "enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]", - "tenantId": "[parameters('tenantId')]", - "accessPolicies": [ - { - "objectId": "[parameters('testApplicationOid')]", - "tenantId": "[parameters('tenantId')]", - "permissions": { - "keys": "[parameters('keysPermissions')]", - "secrets": "[parameters('secretsPermissions')]", - "certificates": "[parameters('certificatesPermissions')]" - } - }, - { - "objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", - "tenantId": "[parameters('tenantId')]", - "permissions": { - "keys": "[parameters('keysPermissions')]", - "secrets": "[parameters('secretsPermissions')]", - "certificates": "[parameters('certificatesPermissions')]" - } - } - ], - "sku": { - "name": "[parameters('skuName')]", - "family": "A" - }, - "networkAcls": { - "defaultAction": "Allow", - "bypass": "AzureServices" - } - } - }, - { - "type": "Microsoft.Resources/deploymentScripts", - "apiVersion": "2020-10-01", - "name": "createAddCertificate", - "location": "[resourceGroup().location]", - "dependsOn": [ - "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", - "[resourceId('Microsoft.Authorization/roleAssignments', variables('bootstrapRoleAssignmentId'))]" - ], - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]": { - } - } - }, - "kind": "AzurePowerShell", - "properties": { - "forceUpdateTag": "[parameters('utcValue')]", - "azPowerShellVersion": "5.0", - "timeout": "PT30M", - "arguments": "[format(' -vaultName {0} -certificateName {1} -subjectName {2}', variables('keyVaultName'), parameters('certificateName'), parameters('subjectName'))]", - "scriptContent": " - param( - [string] [Parameter(Mandatory=$true)] $vaultName, - [string] [Parameter(Mandatory=$true)] $certificateName, - [string] [Parameter(Mandatory=$true)] $subjectName - ) - - $ErrorActionPreference = 'Stop' - $DeploymentScriptOutputs = @{} - - $existingCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName - - if ($existingCert -and $existingCert.Certificate.Subject -eq $subjectName) { - - Write-Host 'Certificate $certificateName in vault $vaultName is already present.' - - $DeploymentScriptOutputs['certThumbprint'] = $existingCert.Thumbprint - $existingCert | Out-String - } - else { - $policy = New-AzKeyVaultCertificatePolicy -SubjectName $subjectName -IssuerName Self -ValidityInMonths 12 -Verbose - - # private key is added as a secret that can be retrieved in the ARM template - Add-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName -CertificatePolicy $policy -Verbose - - $newCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName - - # it takes a few seconds for KeyVault to finish - $tries = 0 - do { - Write-Host 'Waiting for certificate creation completion...' - Start-Sleep -Seconds 10 - $operation = Get-AzKeyVaultCertificateOperation -VaultName $vaultName -Name $certificateName - $tries++ - - if ($operation.Status -eq 'failed') - { - throw 'Creating certificate $certificateName in vault $vaultName failed with error $($operation.ErrorMessage)' - } - - if ($tries -gt 120) - { - throw 'Timed out waiting for creation of certificate $certificateName in vault $vaultName' - } - } while ($operation.Status -ne 'completed') - - $DeploymentScriptOutputs['certThumbprint'] = $newCert.Thumbprint - $newCert | Out-String - } - ", - "cleanupPreference": "OnSuccess", - "retentionInterval": "P1D" - } - } - ], - "outputs": { - "AZURE_KEYVAULT_URI": { - "type": "string", - "value": "[variables('azureKeyVaultUri')]" - }, - "SPRING_TENANT_ID": { - "type": "string", - "value": "[parameters('tenantId')]" - }, - "SPRING_CLIENT_ID": { - "type": "string", - "value": "[parameters('testApplicationId')]" - }, - "SPRING_CLIENT_SECRET": { - "type": "string", - "value": "[parameters('testApplicationSecret')]" - }, - "AZURE_CERTIFICATE_NAME": { - "type": "string", - "value": "[parameters('certificateName')]" - } - } -} diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index c59057cb4679b..6e30cea05fdad 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -1,102 +1,325 @@ { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "baseName": { - "type": "String" - }, - "tenantId": { - "type": "String" - }, - "testApplicationOid": { - "type": "String" - }, - "endpointSuffix": { - "defaultValue": "vault.azure.net", - "type": "String" - } + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "baseName": { + "type": "String" + }, + "tenantId": { + "type": "String" + }, + "testApplicationOid": { + "type": "String" + }, + "endpointSuffix": { + "defaultValue": "vault.azure.net", + "type": "String" + }, + "testApplicationId": { + "type": "String" + }, + "testApplicationSecret": { + "type": "String" + }, + "enabledForDeployment": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "enabledForDiskEncryption": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "enabledForTemplateDeployment": { + "type": "bool", + "defaultValue": false, + "allowedValues": [ + true, + false + ] + }, + "skuName": { + "type": "string", + "defaultValue": "Standard", + "allowedValues": [ + "Standard", + "Premium" + ] + }, + "identityName": { + "type": "string", + "defaultValue" : "administrator" + }, + "certificateName": { + "type": "string", + "defaultValue": "myalias" + }, + "subjectName": { + "type": "string", + "defaultValue": "CN=contoso.com" }, - "variables": { - "location": "[resourceGroup().location]", - "azureKeyVaultUrl": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]" - }, - "resources": [ - { - "type": "Microsoft.KeyVault/vaults", - "apiVersion": "2016-10-01", - "name": "[parameters('baseName')]", - "location": "[resourceGroup().location]", - "properties": { - "sku": { - "family": "A", - "name": "standard" - }, - "tenantId": "[parameters('tenantId')]", - "accessPolicies": [ - { - "tenantId": "[parameters('tenantId')]", - "objectId": "[parameters('testApplicationOid')]", - "permissions": { - "keys": [ - "backup", - "create", - "decrypt", - "delete", - "encrypt", - "get", - "import", - "list", - "purge", - "recover", - "restore", - "sign", - "unwrapKey", - "update", - "verify", - "wrapKey" - ], - "secrets": [ - "backup", - "delete", - "get", - "list", - "purge", - "recover", - "restore", - "set" - ], - "certificates": [ - "backup", - "create", - "delete", - "deleteissuers", - "get", - "getissuers", - "import", - "list", - "listissuers", - "managecontacts", - "manageissuers", - "purge", - "recover", - "restore", - "setissuers", - "update" - ] - } - } - ], - "enabledForDeployment": false, - "enabledForDiskEncryption": false, - "enabledForTemplateDeployment": false, - "enableSoftDelete": true + "utcValue": { + "type": "string", + "defaultValue": "[utcNow()]" + } + }, + "variables": { + "keyVaultName": "[parameters('baseName')]", + "location": "[resourceGroup().location]", + "azureKeyVaultUrl": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]", + "bootstrapRoleAssignmentId": "[guid(concat(resourceGroup().id, 'contributor'))]", + "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]" + }, + "resources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "apiVersion": "2018-11-30", + "name": "[parameters('identityName')]", + "location": "[resourceGroup().location]" + }, + { + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "2018-09-01-preview", + "name": "[variables('bootstrapRoleAssignmentId')]", + "dependsOn": [ + "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]" + ], + "properties": { + "roleDefinitionId": "[variables('contributorRoleDefinitionId')]", + "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", + "scope": "[resourceGroup().id]", + "principalType": "ServicePrincipal" + } + }, + { + "type": "Microsoft.KeyVault/vaults", + "apiVersion": "2018-02-14", + "name": "[parameters('baseName')]", + "location": "[resourceGroup().location]", + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "[parameters('tenantId')]", + "accessPolicies": [ + { + "tenantId": "[parameters('tenantId')]", + "objectId": "[parameters('testApplicationOid')]", + "permissions": { + "keys": [ + "backup", + "create", + "decrypt", + "delete", + "encrypt", + "get", + "import", + "list", + "purge", + "recover", + "restore", + "sign", + "unwrapKey", + "update", + "verify", + "wrapKey" + ], + "secrets": [ + "backup", + "delete", + "get", + "list", + "purge", + "recover", + "restore", + "set" + ], + "certificates": [ + "backup", + "create", + "delete", + "deleteissuers", + "get", + "getissuers", + "import", + "list", + "listissuers", + "managecontacts", + "manageissuers", + "purge", + "recover", + "restore", + "setissuers", + "update" + ] } + }, + { + "objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName')), '2018-11-30').principalId]", + "tenantId": "[parameters('tenantId')]", + "permissions": { + "keys": [ + "backup", + "create", + "decrypt", + "delete", + "encrypt", + "get", + "import", + "list", + "purge", + "recover", + "restore", + "sign", + "unwrapKey", + "update", + "verify", + "wrapKey" + ], + "secrets": [ + "backup", + "delete", + "get", + "list", + "purge", + "recover", + "restore", + "set" + ], + "certificates": [ + "backup", + "create", + "delete", + "deleteissuers", + "get", + "getissuers", + "import", + "list", + "listissuers", + "managecontacts", + "manageissuers", + "purge", + "recover", + "restore", + "setissuers", + "update" + ] + } + } + ], + "enabledForDeployment": "[parameters('enabledForDeployment')]", + "enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]", + "enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]", + "enableSoftDelete": true, + "networkAcls": { + "defaultAction": "Allow", + "bypass": "AzureServices" } - ], - "outputs": { - "AZURE_KEYVAULT_ENDPOINT": { - "type": "string", - "value": "[variables('azureKeyVaultUrl')]" + } + }, + { + "type": "Microsoft.Resources/deploymentScripts", + "apiVersion": "2020-10-01", + "name": "createAddCertificate", + "location": "[resourceGroup().location]", + "dependsOn": [ + "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", + "[resourceId('Microsoft.Authorization/roleAssignments', variables('bootstrapRoleAssignmentId'))]" + ], + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('identityName'))]": { + } } + }, + "kind": "AzurePowerShell", + "properties": { + "forceUpdateTag": "[parameters('utcValue')]", + "azPowerShellVersion": "5.0", + "timeout": "PT30M", + "arguments": "[format(' -vaultName {0} -certificateName {1} -subjectName {2}', variables('keyVaultName'), parameters('certificateName'), parameters('subjectName'))]", + "scriptContent": " + param( + [string] [Parameter(Mandatory=$true)] $vaultName, + [string] [Parameter(Mandatory=$true)] $certificateName, + [string] [Parameter(Mandatory=$true)] $subjectName + ) + + $ErrorActionPreference = 'Stop' + $DeploymentScriptOutputs = @{} + + $existingCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName + + if ($existingCert -and $existingCert.Certificate.Subject -eq $subjectName) { + + Write-Host 'Certificate $certificateName in vault $vaultName is already present.' + + $DeploymentScriptOutputs['certThumbprint'] = $existingCert.Thumbprint + $existingCert | Out-String + } + else { + $policy = New-AzKeyVaultCertificatePolicy -SubjectName $subjectName -IssuerName Self -ValidityInMonths 12 -Verbose + + Add-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName -CertificatePolicy $policy -Verbose + + $newCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName + + $tries = 0 + do { + Write-Host 'Waiting for certificate creation completion...' + Start-Sleep -Seconds 10 + $operation = Get-AzKeyVaultCertificateOperation -VaultName $vaultName -Name $certificateName + $tries++ + + if ($operation.Status -eq 'failed') + { + throw 'Creating certificate $certificateName in vault $vaultName failed with error $($operation.ErrorMessage)' + } + + if ($tries -gt 120) + { + throw 'Timed out waiting for creation of certificate $certificateName in vault $vaultName' + } + } while ($operation.Status -ne 'completed') + + $DeploymentScriptOutputs['certThumbprint'] = $newCert.Thumbprint + $newCert | Out-String + } + ", + "cleanupPreference": "OnSuccess", + "retentionInterval": "P1D" + } + } + ], + "outputs": { + "AZURE_KEYVAULT_ENDPOINT": { + "type": "string", + "value": "[variables('azureKeyVaultUrl')]" + }, + "SPRING_TENANT_ID": { + "type": "string", + "value": "[parameters('tenantId')]" + }, + "SPRING_CLIENT_ID": { + "type": "string", + "value": "[parameters('testApplicationId')]" + }, + "SPRING_CLIENT_SECRET": { + "type": "string", + "value": "[parameters('testApplicationSecret')]" + }, + "AZURE_KEYVAULT_CERTIFICATE_NAME": { + "type": "string", + "value": "[parameters('certificateName')]" } + } } diff --git a/sdk/keyvault/tests.yml b/sdk/keyvault/tests.yml index aaaac3af4bf08..856c46eb2e9a3 100644 --- a/sdk/keyvault/tests.yml +++ b/sdk/keyvault/tests.yml @@ -16,8 +16,15 @@ stages: - name: azure-security-keyvault-secrets groupId: com.azure safeName: azuresecuritykeyvaultsecrets + - name: azure-security-test-keyvault-jca + groupId: com.azure + safeName: azuresecuritytestkeyvaultjca EnvVars: ARM_CLIENTID: $(aad-azure-sdk-test-client-id) ARM_CLIENTKEY: $(aad-azure-sdk-test-client-secret) AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) AZURE_KEYVAULT_ENDPOINT: $(AZURE_KEYVAULT_ENDPOINT) + SPRING_CLIENT_ID: $(SPRING_CLIENT_ID) + SPRING_CLIENT_SECRET: $(SPRING_CLIENT_SECRET) + AZURE_KEYVAULT_CERTIFICATE_NAME: $(AZURE_KEYVAULT_CERTIFICATE_NAME) + SPRING_TENANT_ID: $(SPRING_TENANT_ID) From 7e3bef83d9f000c36e1821124f978562c0cb3bad Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 23 Apr 2021 18:01:21 +0800 Subject: [PATCH 16/38] fix versions error. --- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 0478252fad05d..20edf931b48a6 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -81,7 +81,7 @@ org.springframework spring-core - 5.3.4 + 5.3.6 test From ab128627989a635fd8e2bd609684b215775fe991 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Sun, 25 Apr 2021 10:07:04 +0800 Subject: [PATCH 17/38] try to skip integration test. --- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 20edf931b48a6..17ce9f279b9e0 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -99,7 +99,7 @@ integration-test - ${skipSpringITs} + ${skipSpringITs} From fe6d1e0191a5924bb9d49b7ce1a8c22648d9c1ed Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Sun, 25 Apr 2021 10:57:01 +0800 Subject: [PATCH 18/38] Try to skip integration test. --- sdk/keyvault/azure-security-test-keyvault-jca/pom.xml | 4 ++-- .../security/keyvault/jca/KeyVaultClientTest.java | 8 ++++---- .../security/keyvault/jca/KeyVaultKeyManagerTest.java | 8 ++++---- .../security/keyvault/jca/KeyVaultKeyStoreTest.java | 10 +++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 17ce9f279b9e0..084242d1b830b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -18,7 +18,7 @@ The Java Crypto Architecture (JCA) Provider for Azure Key Vault Test - true + true @@ -99,7 +99,7 @@ integration-test - ${skipSpringITs} + ${skipTests} diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index de191490e5fa2..d8f7fc9be98ea 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -11,7 +11,7 @@ public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; - private String AZURE_KEYVAULT_CERTIFICATE_NAME; + private String certificateName; @BeforeEach public void setEnvironmentProperty() { @@ -21,7 +21,7 @@ public void setEnvironmentProperty() { System.getenv("SPRING_TENANT_ID"), System.getenv("SPRING_CLIENT_ID"), System.getenv("SPRING_CLIENT_SECRET")); - AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_CERTIFICATE_NAME"); + certificateName = System.getenv("AZURE_CERTIFICATE_NAME"); } @Test @@ -31,11 +31,11 @@ public void testGetAliases() { @Test public void testGetCertificate() { - assertNotNull(keyVaultClient.getCertificate(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertNotNull(keyVaultClient.getCertificate(certificateName)); } @Test public void testGetKey() { - assertNull(keyVaultClient.getKey(AZURE_KEYVAULT_CERTIFICATE_NAME, null)); + assertNull(keyVaultClient.getKey(certificateName, null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 88573925041df..0e64e2a9b2350 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -18,7 +18,7 @@ public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; - private String AZURE_KEYVAULT_CERTIFICATE_NAME; + private String certificateName; @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, @@ -32,17 +32,17 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx System.getenv("SPRING_CLIENT_SECRET")); keyStore.load(parameter); manager = new KeyVaultKeyManager(keyStore, null); - AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test public void testPrivateKey() { - assertNotNull(manager.getPrivateKey(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertNotNull(manager.getPrivateKey(certificateName)); } @Test public void testGetCertificateChain() { - assertNotNull(manager.getCertificateChain(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertNotNull(manager.getCertificateChain(certificateName)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 67e5c0eda41a1..375f4346f3a17 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -49,7 +49,7 @@ public class KeyVaultKeyStoreTest { private KeyVaultKeyStore keystore; - private String AZURE_KEYVAULT_CERTIFICATE_NAME; + private String certificateName; @BeforeEach public void setEnvironmentProperty() { @@ -60,12 +60,12 @@ public void setEnvironmentProperty() { System.getProperty("azure.keyvault.client-id"), System.getProperty("azure.keyvault.client-secret")); keystore.engineLoad(parameter); - AZURE_KEYVAULT_CERTIFICATE_NAME = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test public void testEngineGetCertificate() { - assertNull(keystore.engineGetCertificate(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertNull(keystore.engineGetCertificate(certificateName)); } @Test @@ -75,12 +75,12 @@ public void testEngineGetCertificateAlias() { @Test public void testEngineGetCertificateChain() { - assertNull(keystore.engineGetCertificateChain(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertNull(keystore.engineGetCertificateChain(certificateName)); } @Test public void testEngineIsCertificateEntry() { - assertFalse(keystore.engineIsCertificateEntry(AZURE_KEYVAULT_CERTIFICATE_NAME)); + assertFalse(keystore.engineIsCertificateEntry(certificateName)); } @Test From 3af93d02759896d67c4ef16f2ad3b7b2b3170a7e Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Mon, 26 Apr 2021 16:07:20 +0800 Subject: [PATCH 19/38] Enable integration test by environment variable. --- .../azure-security-test-keyvault-jca/pom.xml | 30 ------------------- .../security/keyvault/jca/AuthClientTest.java | 2 ++ .../keyvault/jca/KeyVaultClientTest.java | 3 +- .../keyvault/jca/KeyVaultJcaProviderTest.java | 2 ++ .../keyvault/jca/KeyVaultKeyManagerTest.java | 2 ++ .../keyvault/jca/KeyVaultKeyStoreTest.java | 2 ++ .../jca/KeyVaultLoadStoreParameterTest.java | 2 ++ .../keyvault/jca/ServerSocketTest.java | 18 ++++++----- 8 files changed, 22 insertions(+), 39 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 084242d1b830b..677ef76b9e65d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -17,21 +17,12 @@ JCA Provider for Azure Key Vault Test The Java Crypto Architecture (JCA) Provider for Azure Key Vault Test - - true - com.azure azure-security-keyvault-jca 1.0.0-beta.7 - - junit - junit - 4.13.2 - test - @@ -85,25 +76,4 @@ test - - - - - org.apache.maven.plugins - maven-failsafe-plugin - 2.22.0 - - - default - - integration-test - - - ${skipTests} - - - - - - \ No newline at end of file diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index 9cc4a0cbbc024..13256ac18873b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -4,6 +4,7 @@ package com.azure.security.keyvault.jca; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import java.net.URLEncoder; @@ -12,6 +13,7 @@ /** * The JUnit test for the AuthClient. */ +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class AuthClientTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index d8f7fc9be98ea..e1d9abebbea69 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -5,10 +5,12 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; @@ -17,7 +19,6 @@ public class KeyVaultClientTest { public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("azure.keyvault.aad-authentication-url"), System.getenv("SPRING_TENANT_ID"), System.getenv("SPRING_CLIENT_ID"), System.getenv("SPRING_CLIENT_SECRET")); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index c0b80069403c0..81d49ddf39fbe 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -4,6 +4,7 @@ package com.azure.security.keyvault.jca; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import java.security.KeyStore; import java.security.Security; @@ -14,6 +15,7 @@ /** * The JUnit tests for the KeyVaultProvider class. */ +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultJcaProviderTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 0e64e2a9b2350..bfdf3114f0115 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -5,6 +5,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import java.io.IOException; import java.security.KeyStore; @@ -15,6 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 375f4346f3a17..f86bb81841980 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -5,6 +5,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import java.io.ByteArrayInputStream; import java.security.ProviderException; @@ -21,6 +22,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyStoreTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index c9641e84ee266..772b2849851ac 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -4,12 +4,14 @@ package com.azure.security.keyvault.jca; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import static org.junit.jupiter.api.Assertions.assertNull; /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultLoadStoreParameterTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index 6d6fc70564b32..ce86466d9c7df 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -15,6 +15,7 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.ssl.SSLContexts; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; @@ -33,6 +34,7 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class ServerSocketTest { /** @@ -59,10 +61,10 @@ public void testServerSocket() throws Exception { */ KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); @@ -161,10 +163,10 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { */ KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_ENDPOINT"), + System.getenv("SPRING_TENANT_ID"), + System.getenv("SPRING_CLIENT_ID"), + System.getenv("SPRING_CLIENT_SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); From 23ea0cfcb368c1e342e2ac22e79118aee8563ebe Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 27 Apr 2021 14:56:20 +0800 Subject: [PATCH 20/38] Put environment property to system property. --- .../security/keyvault/jca/AuthClientTest.java | 8 +-- .../keyvault/jca/KeyVaultClientTest.java | 15 +++-- .../keyvault/jca/KeyVaultJcaProviderTest.java | 31 +++++++--- .../keyvault/jca/KeyVaultKeyManagerTest.java | 26 ++++++-- .../keyvault/jca/KeyVaultKeyStoreTest.java | 62 +++++++++++++------ .../jca/KeyVaultLoadStoreParameterTest.java | 10 +-- .../keyvault/jca/ServerSocketTest.java | 37 ++++++++--- sdk/keyvault/test-resources.json | 12 ++-- sdk/keyvault/tests.yml | 4 -- 9 files changed, 138 insertions(+), 67 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index 13256ac18873b..ec1079c9e1dc5 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -13,7 +13,7 @@ /** * The JUnit test for the AuthClient. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class AuthClientTest { /** @@ -23,9 +23,9 @@ public class AuthClientTest { */ @Test public void testGetAuthorizationToken() throws Exception { - String tenantId = System.getenv("SPRING_TENANT_ID"); - String clientId = System.getenv("SPRING_CLIENT_ID"); - String clientSecret = System.getenv("SPRING_CLIENT_SECRET"); + String tenantId = System.getenv("azure.keyvault.tenant-id"); + String clientId = System.getenv("azure.keyvault.client-id"); + String clientSecret = System.getenv("azure.keyvault.client-secret"); AuthClient authClient = new AuthClient(); String result = authClient.getAccessToken( "https://management.azure.com/", diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index e1d9abebbea69..5aeecfc29dbd4 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -8,9 +8,8 @@ import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; @@ -18,11 +17,11 @@ public class KeyVaultClientTest { @BeforeEach public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET")); - certificateName = System.getenv("AZURE_CERTIFICATE_NAME"); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); + certificateName = System.getenv("azure.keyvault.certificate-name"); } @Test @@ -37,6 +36,6 @@ public void testGetCertificate() { @Test public void testGetKey() { - assertNull(keyVaultClient.getKey(certificateName, null)); + assertNotNull(keyVaultClient.getKey(certificateName, null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 81d49ddf39fbe..303384db33722 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -3,21 +3,38 @@ package com.azure.security.keyvault.jca; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; +import org.springframework.util.StringUtils; import java.security.KeyStore; import java.security.Security; +import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; /** * The JUnit tests for the KeyVaultProvider class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class KeyVaultJcaProviderTest { + public static void putEnvironmentPropertyToSystemProperty(String key) { + Optional.of(key) + .map(System::getenv) + .filter(StringUtils::hasText) + .ifPresent(value -> System.getProperties().put(key, value)); + } + + @BeforeEach + public void setEnvironmentProperty() { + putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + } /** * Test the constructor. */ @@ -37,11 +54,11 @@ public void testGetCertificate() throws Exception { Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET")); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); keystore.load(parameter); - assertNull(keystore.getCertificate(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"))); + assertNotNull(keystore.getCertificate(System.getenv("azure.keyvault.certificate-name"))); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index bfdf3114f0115..f28cb752619a5 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -6,6 +6,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; +import org.springframework.util.StringUtils; import java.io.IOException; import java.security.KeyStore; @@ -13,28 +14,41 @@ import java.security.NoSuchAlgorithmException; import java.security.Security; import java.security.cert.CertificateException; +import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertNotNull; -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; private String certificateName; + public static void putEnvironmentPropertyToSystemProperty(String key) { + Optional.of(key) + .map(System::getenv) + .filter(StringUtils::hasText) + .ifPresent(value -> System.getProperties().put(key, value)); + } + @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { + putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET")); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); keyStore.load(parameter); manager = new KeyVaultKeyManager(keyStore, null); - certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + certificateName = System.getenv("azure.keyvault.certificate-name"); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index f86bb81841980..ba6aaf6003c62 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -6,6 +6,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; +import org.springframework.util.StringUtils; import java.io.ByteArrayInputStream; import java.security.ProviderException; @@ -13,16 +14,15 @@ import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.util.Base64; +import java.util.Optional; -import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; /** * The JUnit tests for the KeyVaultKeyStore class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class KeyVaultKeyStoreTest { /** @@ -53,36 +53,58 @@ public class KeyVaultKeyStoreTest { private String certificateName; + public static void putEnvironmentPropertyToSystemProperty(String key) { + Optional.of(key) + .map(System::getenv) + .filter(StringUtils::hasText) + .ifPresent(value -> System.getProperties().put(key, value)); + } + @BeforeEach public void setEnvironmentProperty() { - keystore = new KeyVaultKeyStore(); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getProperty("azure.keyvault.uri"), - System.getProperty("azure.keyvault.tenant-id"), - System.getProperty("azure.keyvault.client-id"), - System.getProperty("azure.keyvault.client-secret")); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); + certificateName = System.getenv("azure.keyvault.certificate-name"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + keystore = new KeyVaultKeyStore(); keystore.engineLoad(parameter); - certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test public void testEngineGetCertificate() { - assertNull(keystore.engineGetCertificate(certificateName)); + assertNotNull(keystore.engineGetCertificate(certificateName)); } @Test public void testEngineGetCertificateAlias() { - assertNull(keystore.engineGetCertificateAlias(null)); + X509Certificate certificate; + + try { + byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + certificate = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certificateBytes)); + } catch (CertificateException e) { + throw new ProviderException(e); + } + keystore.engineSetCertificateEntry("setcert", certificate); + assertNotNull(keystore.engineGetCertificateAlias(certificate)); } @Test public void testEngineGetCertificateChain() { - assertNull(keystore.engineGetCertificateChain(certificateName)); + assertNotNull(keystore.engineGetCertificateChain(certificateName)); } @Test public void testEngineIsCertificateEntry() { - assertFalse(keystore.engineIsCertificateEntry(certificateName)); + assertTrue(keystore.engineIsCertificateEntry(certificateName)); } @Test @@ -104,24 +126,24 @@ public void testEngineSetCertificateEntry() { @Test public void testEngineGetKey() { - assertNull(keystore.engineGetKey("myalias", null)); + assertNotNull(keystore.engineGetKey(certificateName, null)); } @Test public void testEngineIsKeyEntry() { - assertFalse(keystore.engineIsKeyEntry("myalias")); + assertTrue(keystore.engineIsKeyEntry(certificateName)); } @Test public void testEngineSetKeyEntry() { KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - keystore.engineSetKeyEntry("myalias", null, null); + keystore.engineSetKeyEntry(certificateName, null, null); } @Test public void testEngineSetKeyEntry2() { KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - keystore.engineSetKeyEntry("myalias", null, null, null); + keystore.engineSetKeyEntry(certificateName, null, null, null); } @Test @@ -131,19 +153,19 @@ public void testEngineAliases() { @Test public void testEngineContainsAlias() { - assertFalse(keystore.engineContainsAlias("myalias")); + assertTrue(keystore.engineContainsAlias(certificateName)); } @Test public void testEngineGetCreationDate() { KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - assertNotNull(keystore.engineGetCreationDate("myalias")); + assertNotNull(keystore.engineGetCreationDate(certificateName)); } @Test public void testEngineDeleteEntry() { KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - keystore.engineDeleteEntry("myalias"); + keystore.engineDeleteEntry(certificateName); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index 772b2849851ac..b18aa07a6a4e8 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -11,7 +11,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class KeyVaultLoadStoreParameterTest { /** @@ -20,10 +20,10 @@ public class KeyVaultLoadStoreParameterTest { @Test public void testGetProtectionParameter() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET") + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret") ); assertNull(parameter.getProtectionParameter()); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index ce86466d9c7df..fa62f134edfa4 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -16,6 +16,7 @@ import org.apache.http.ssl.SSLContexts; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; +import org.springframework.util.StringUtils; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; @@ -27,6 +28,7 @@ import java.security.KeyStore; import java.security.Security; import java.security.cert.X509Certificate; +import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,9 +36,16 @@ * The unit test validating the ServerSocket is created using a certificate * from Azure Key Vault. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") public class ServerSocketTest { + public static void putEnvironmentPropertyToSystemProperty(String key) { + Optional.of(key) + .map(System::getenv) + .filter(StringUtils::hasText) + .ifPresent(value -> System.getProperties().put(key, value)); + } + /** * Test SSLServerSocket without client trust. * @@ -59,12 +68,17 @@ public void testServerSocket() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ + putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET")); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); @@ -161,12 +175,17 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ + putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); + putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_ENDPOINT"), - System.getenv("SPRING_TENANT_ID"), - System.getenv("SPRING_CLIENT_ID"), - System.getenv("SPRING_CLIENT_SECRET")); + System.getenv("azure.keyvault.uri"), + System.getenv("azure.keyvault.tenant-id"), + System.getenv("azure.keyvault.client-id"), + System.getenv("azure.keyvault.client-secret")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 6e30cea05fdad..f64aa54757f83 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -305,19 +305,23 @@ "type": "string", "value": "[variables('azureKeyVaultUrl')]" }, - "SPRING_TENANT_ID": { + "azure.keyvault.uri": { + "type": "string", + "value": "[variables('azureKeyVaultUrl')]" + }, + "azure.keyvault.tenant-id": { "type": "string", "value": "[parameters('tenantId')]" }, - "SPRING_CLIENT_ID": { + "azure.keyvault.client-id": { "type": "string", "value": "[parameters('testApplicationId')]" }, - "SPRING_CLIENT_SECRET": { + "azure.keyvault.client-secret": { "type": "string", "value": "[parameters('testApplicationSecret')]" }, - "AZURE_KEYVAULT_CERTIFICATE_NAME": { + "azure.keyvault.certificate-name": { "type": "string", "value": "[parameters('certificateName')]" } diff --git a/sdk/keyvault/tests.yml b/sdk/keyvault/tests.yml index 856c46eb2e9a3..8e006630ae7be 100644 --- a/sdk/keyvault/tests.yml +++ b/sdk/keyvault/tests.yml @@ -24,7 +24,3 @@ stages: ARM_CLIENTKEY: $(aad-azure-sdk-test-client-secret) AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) AZURE_KEYVAULT_ENDPOINT: $(AZURE_KEYVAULT_ENDPOINT) - SPRING_CLIENT_ID: $(SPRING_CLIENT_ID) - SPRING_CLIENT_SECRET: $(SPRING_CLIENT_SECRET) - AZURE_KEYVAULT_CERTIFICATE_NAME: $(AZURE_KEYVAULT_CERTIFICATE_NAME) - SPRING_TENANT_ID: $(SPRING_TENANT_ID) From 788a2c9f3bff0c222b078b6d4e5250b163c95a6c Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Tue, 27 Apr 2021 18:34:54 +0800 Subject: [PATCH 21/38] Change environment variables to uppercase. --- .../security/keyvault/jca/AuthClientTest.java | 8 ++-- .../keyvault/jca/KeyVaultClientTest.java | 12 +++--- .../keyvault/jca/KeyVaultJcaProviderTest.java | 24 ++++++----- .../keyvault/jca/KeyVaultKeyManagerTest.java | 23 ++++++----- .../keyvault/jca/KeyVaultKeyStoreTest.java | 23 ++++++----- .../jca/KeyVaultLoadStoreParameterTest.java | 10 ++--- .../keyvault/jca/ServerSocketTest.java | 40 +++++++++---------- sdk/keyvault/test-resources.json | 10 ++--- 8 files changed, 77 insertions(+), 73 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index ec1079c9e1dc5..de3401174b56d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -13,7 +13,7 @@ /** * The JUnit test for the AuthClient. */ -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class AuthClientTest { /** @@ -23,9 +23,9 @@ public class AuthClientTest { */ @Test public void testGetAuthorizationToken() throws Exception { - String tenantId = System.getenv("azure.keyvault.tenant-id"); - String clientId = System.getenv("azure.keyvault.client-id"); - String clientSecret = System.getenv("azure.keyvault.client-secret"); + String tenantId = System.getenv("AZURE_KEYVAULT_TENANT-ID"); + String clientId = System.getenv("AZURE_KEYVAULT_CLIENT-ID"); + String clientSecret = System.getenv("AZURE_KEYVAULT_CLIENT-SECRET"); AuthClient authClient = new AuthClient(); String result = authClient.getAccessToken( "https://management.azure.com/", diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 5aeecfc29dbd4..346c04ba3ce80 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -9,7 +9,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; @@ -17,11 +17,11 @@ public class KeyVaultClientTest { @BeforeEach public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); - certificateName = System.getenv("azure.keyvault.certificate-name"); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 303384db33722..1ec857578b73d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -17,24 +17,26 @@ /** * The JUnit tests for the KeyVaultProvider class. */ -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultJcaProviderTest { public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put(key, value)); + .ifPresent(value -> System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value)); } @BeforeEach public void setEnvironmentProperty() { - putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); } + /** * Test the constructor. */ @@ -54,11 +56,11 @@ public void testGetCertificate() throws Exception { Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); keystore.load(parameter); - assertNotNull(keystore.getCertificate(System.getenv("azure.keyvault.certificate-name"))); + assertNotNull(keystore.getCertificate(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"))); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index f28cb752619a5..88e8868b3c19a 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -18,7 +18,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; @@ -28,27 +28,28 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put(key, value)); + .ifPresent(value -> System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value)); } @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { - putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); keyStore.load(parameter); manager = new KeyVaultKeyManager(keyStore, null); - certificateName = System.getenv("azure.keyvault.certificate-name"); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index ba6aaf6003c62..d387ea62a4cc4 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -22,7 +22,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyStoreTest { /** @@ -57,22 +57,23 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put(key, value)); + .ifPresent(value -> System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value)); } @BeforeEach public void setEnvironmentProperty() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); - certificateName = System.getenv("azure.keyvault.certificate-name"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); keystore = new KeyVaultKeyStore(); keystore.engineLoad(parameter); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index b18aa07a6a4e8..1d6df50019456 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -11,7 +11,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultLoadStoreParameterTest { /** @@ -20,10 +20,10 @@ public class KeyVaultLoadStoreParameterTest { @Test public void testGetProtectionParameter() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret") + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET") ); assertNull(parameter.getProtectionParameter()); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index fa62f134edfa4..e941746bcdbd3 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -33,17 +33,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals; /** - * The unit test validating the ServerSocket is created using a certificate - * from Azure Key Vault. + * The unit test validating the ServerSocket is created using a certificate from Azure Key Vault. */ -@EnabledIfEnvironmentVariable(named = "azure.keyvault.certificate-name", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class ServerSocketTest { public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put(key, value)); + .ifPresent(value -> System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value)); } /** @@ -68,17 +68,17 @@ public void testServerSocket() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); @@ -175,17 +175,17 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty("azure.keyvault.uri"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.tenant-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-id"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.client-secret"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("azure.keyvault.uri"), - System.getenv("azure.keyvault.tenant-id"), - System.getenv("azure.keyvault.client-id"), - System.getenv("azure.keyvault.client-secret")); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-ID"), + System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index f64aa54757f83..4e612fa736760 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -305,23 +305,23 @@ "type": "string", "value": "[variables('azureKeyVaultUrl')]" }, - "azure.keyvault.uri": { + "AZURE_KEYVAULT_URI": { "type": "string", "value": "[variables('azureKeyVaultUrl')]" }, - "azure.keyvault.tenant-id": { + "AZURE_KEYVAULT_TENANT-ID": { "type": "string", "value": "[parameters('tenantId')]" }, - "azure.keyvault.client-id": { + "AZURE_KEYVAULT_CLIENT-ID": { "type": "string", "value": "[parameters('testApplicationId')]" }, - "azure.keyvault.client-secret": { + "AZURE_KEYVAULT_CLIENT-SECRET": { "type": "string", "value": "[parameters('testApplicationSecret')]" }, - "azure.keyvault.certificate-name": { + "AZURE_KEYVAULT_CERTIFICATE_NAME": { "type": "string", "value": "[parameters('certificateName')]" } From c5dc06441a6dc8d7e853ed263fee7d0a2b5889ac Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 28 Apr 2021 13:25:55 +0800 Subject: [PATCH 22/38] Try to create certificate. --- sdk/keyvault/test-resources.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 4e612fa736760..def9403e304f2 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -8,7 +8,7 @@ "tenantId": { "type": "String" }, - "testApplicationOid": { + "objectId": { "type": "String" }, "endpointSuffix": { @@ -54,8 +54,7 @@ ] }, "identityName": { - "type": "string", - "defaultValue" : "administrator" + "type": "string" }, "certificateName": { "type": "string", @@ -112,7 +111,7 @@ "accessPolicies": [ { "tenantId": "[parameters('tenantId')]", - "objectId": "[parameters('testApplicationOid')]", + "objectId": "[parameters('objectId')]", "permissions": { "keys": [ "backup", From 0989569ac135cba8dc3d641aefa09c2fcaaf126f Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 28 Apr 2021 16:20:14 +0800 Subject: [PATCH 23/38] Try to get certificate. --- .../java/com/azure/security/keyvault/jca/AuthClientTest.java | 2 ++ .../com/azure/security/keyvault/jca/KeyVaultClientTest.java | 4 ++++ .../azure/security/keyvault/jca/KeyVaultJcaProviderTest.java | 2 ++ .../azure/security/keyvault/jca/KeyVaultKeyManagerTest.java | 4 ++++ .../com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java | 2 ++ sdk/keyvault/test-resources.json | 4 ++-- 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index de3401174b56d..97656138be2f9 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -27,6 +27,8 @@ public void testGetAuthorizationToken() throws Exception { String clientId = System.getenv("AZURE_KEYVAULT_CLIENT-ID"); String clientSecret = System.getenv("AZURE_KEYVAULT_CLIENT-SECRET"); AuthClient authClient = new AuthClient(); + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); String result = authClient.getAccessToken( "https://management.azure.com/", System.getProperty("azure.keyvault.aad-authentication-url"), diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 346c04ba3ce80..11cab435be201 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -31,11 +31,15 @@ public void testGetAliases() { @Test public void testGetCertificate() { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertNotNull(keyVaultClient.getCertificate(certificateName)); } @Test public void testGetKey() { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertNotNull(keyVaultClient.getKey(certificateName, null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 1ec857578b73d..511eb5ea21082 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -53,6 +53,8 @@ public void testConstructor() { */ @Test public void testGetCertificate() throws Exception { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 88e8868b3c19a..44424fcb1944c 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -54,12 +54,16 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx @Test public void testPrivateKey() { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertNotNull(manager.getPrivateKey(certificateName)); } @Test public void testGetCertificateChain() { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertNotNull(manager.getCertificateChain(certificateName)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index d387ea62a4cc4..8bd636528546c 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -132,6 +132,8 @@ public void testEngineGetKey() { @Test public void testEngineIsKeyEntry() { + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertTrue(keystore.engineIsKeyEntry(certificateName)); } diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index def9403e304f2..ce2b15162ac2f 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -8,7 +8,7 @@ "tenantId": { "type": "String" }, - "objectId": { + "testApplicationOid": { "type": "String" }, "endpointSuffix": { @@ -111,7 +111,7 @@ "accessPolicies": [ { "tenantId": "[parameters('tenantId')]", - "objectId": "[parameters('objectId')]", + "objectId": "[parameters('testApplicationOid')]", "permissions": { "keys": [ "backup", From 9c2b3d3875ef113be9e1fcca2be460698d4b556f Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 28 Apr 2021 16:47:10 +0800 Subject: [PATCH 24/38] add identity name for resource.json. --- sdk/keyvault/test-resources.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index ce2b15162ac2f..22939e224ef7a 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -54,7 +54,8 @@ ] }, "identityName": { - "type": "string" + "type": "string", + "defaultValue": "identityForKeyVault" }, "certificateName": { "type": "string", From 9819f363c79aa8ca54ef84770351356a916b743b Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 28 Apr 2021 16:54:25 +0800 Subject: [PATCH 25/38] Try to get all certificate name. --- .../java/com/azure/security/keyvault/jca/KeyVaultClientTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 11cab435be201..c3add7643dc7f 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -26,6 +26,7 @@ public void setEnvironmentProperty() { @Test public void testGetAliases() { + keyVaultClient.getAliases().forEach(System.out::println); assertNotNull(keyVaultClient.getAliases()); } From d3593b885d21f9713a9e1724663d056fd9c4e511 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 28 Apr 2021 18:40:38 +0800 Subject: [PATCH 26/38] Try to get certificate. --- .../com/azure/security/keyvault/jca/AuthClientTest.java | 2 -- .../azure/security/keyvault/jca/KeyVaultClientTest.java | 9 ++------- .../security/keyvault/jca/KeyVaultJcaProviderTest.java | 2 +- .../security/keyvault/jca/KeyVaultKeyManagerTest.java | 6 +----- .../security/keyvault/jca/KeyVaultKeyStoreTest.java | 4 +--- sdk/keyvault/test-resources.json | 6 +++--- 6 files changed, 8 insertions(+), 21 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index 97656138be2f9..de3401174b56d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -27,8 +27,6 @@ public void testGetAuthorizationToken() throws Exception { String clientId = System.getenv("AZURE_KEYVAULT_CLIENT-ID"); String clientSecret = System.getenv("AZURE_KEYVAULT_CLIENT-SECRET"); AuthClient authClient = new AuthClient(); - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); String result = authClient.getAccessToken( "https://management.azure.com/", System.getProperty("azure.keyvault.aad-authentication-url"), diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index c3add7643dc7f..cd474ec060ec2 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -26,21 +26,16 @@ public void setEnvironmentProperty() { @Test public void testGetAliases() { - keyVaultClient.getAliases().forEach(System.out::println); assertNotNull(keyVaultClient.getAliases()); } @Test public void testGetCertificate() { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); - assertNotNull(keyVaultClient.getCertificate(certificateName)); + assertNotNull(keyVaultClient.getCertificate("myalias")); } @Test public void testGetKey() { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); - assertNotNull(keyVaultClient.getKey(certificateName, null)); + assertNotNull(keyVaultClient.getKey("myalias", null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 511eb5ea21082..c0bfa7b85f78b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -63,6 +63,6 @@ public void testGetCertificate() throws Exception { System.getenv("AZURE_KEYVAULT_CLIENT-ID"), System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); keystore.load(parameter); - assertNotNull(keystore.getCertificate(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"))); + assertNotNull(keystore.getCertificate("myalias")); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 44424fcb1944c..9fb256a15f4e0 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -54,16 +54,12 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx @Test public void testPrivateKey() { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); - assertNotNull(manager.getPrivateKey(certificateName)); + assertNotNull(manager.getPrivateKey("myalias")); } @Test public void testGetCertificateChain() { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); assertNotNull(manager.getCertificateChain(certificateName)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 8bd636528546c..99dccd1839a81 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -132,9 +132,7 @@ public void testEngineGetKey() { @Test public void testEngineIsKeyEntry() { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); - assertTrue(keystore.engineIsKeyEntry(certificateName)); + assertTrue(keystore.engineIsKeyEntry("myalias")); } @Test diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 22939e224ef7a..1f4b62ab16981 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -6,7 +6,8 @@ "type": "String" }, "tenantId": { - "type": "String" + "type": "String", + "defaultValue": "[subscription().tenantId]" }, "testApplicationOid": { "type": "String" @@ -71,8 +72,7 @@ } }, "variables": { - "keyVaultName": "[parameters('baseName')]", - "location": "[resourceGroup().location]", + "keyVaultName": "jcaKeyVault02", "azureKeyVaultUrl": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]", "bootstrapRoleAssignmentId": "[guid(concat(resourceGroup().id, 'contributor'))]", "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]" From 737a98065c791b8aa1a8b3ccc21ceaab0e04917f Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 29 Apr 2021 12:28:48 +0800 Subject: [PATCH 27/38] Try to get env of certificate name. --- .../keyvault/jca/KeyVaultClientTest.java | 9 ++++ .../keyvault/jca/KeyVaultJcaProviderTest.java | 49 ++++++++++++++++++- .../keyvault/jca/KeyVaultKeyManagerTest.java | 48 +++++++++++++++++- .../keyvault/jca/KeyVaultKeyStoreTest.java | 49 ++++++++++++++++++- sdk/keyvault/test-resources.json | 6 +-- 5 files changed, 152 insertions(+), 9 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index cd474ec060ec2..9955f309df46f 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -26,11 +26,20 @@ public void setEnvironmentProperty() { @Test public void testGetAliases() { + System.out.println("*****************************logStart**************************"); + keyVaultClient.getAliases().forEach(System.out::println); + System.out.println(keyVaultClient.getAliases().size()); + System.out.println("*****************************logEnd**************************"); assertNotNull(keyVaultClient.getAliases()); } @Test public void testGetCertificate() { + System.out.println("*****************************logStart**************************"); + String certificate_name = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); + System.out.println(certificate_name.substring(0, certificate_name.length() - 1)); + System.out.println("*****************************logEnd**************************"); assertNotNull(keyVaultClient.getCertificate("myalias")); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index c0bfa7b85f78b..6c6b88f2fc5aa 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -11,7 +11,9 @@ import java.security.KeyStore; import java.security.Security; import java.util.Optional; +import java.util.logging.Logger; +import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; /** @@ -20,12 +22,55 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultJcaProviderTest { + private static final Logger LOGGER = Logger.getLogger(KeyVaultJcaProviderTest.class.getName()); + public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value)); + .ifPresent(value -> { + System.out.println("*****************************logStart**************************"); + LOGGER.log(INFO, "LOGGER: the first name of sub = ", + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + + System.out.println("the first name of certificate name = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + System.out.println("the first name of sub = " + + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + + System.out.println("azure certificate length = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); + + + System.out.println("azure certificate length / 2 = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); + System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + + System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); + System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); + System.out.println("azure.keyvault.client-secret = " + + System.getProperty("azure.keyvault.client-secret")); + + LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", + System.getProperty("azure.keyvault.tenant-id")); + + System.out.println("*****************************logEnd**************************"); + }); } @BeforeEach diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 9fb256a15f4e0..4977bf66c721e 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -15,11 +15,14 @@ import java.security.Security; import java.security.cert.CertificateException; import java.util.Optional; +import java.util.logging.Logger; +import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyManagerTest { + private static final Logger LOGGER = Logger.getLogger(KeyVaultKeyManagerTest.class.getName()); private KeyVaultKeyManager manager; private String certificateName; @@ -28,8 +31,49 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value)); + .ifPresent(value -> { + System.out.println("*****************************logStart**************************"); + LOGGER.log(INFO, "LOGGER: the first name of sub = ", + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + + System.out.println("the first name of certificate name = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + System.out.println("the first name of sub = " + + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + + System.out.println("azure certificate length = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); + + + System.out.println("azure certificate length / 2 = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); + System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + + System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); + System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); + System.out.println("azure.keyvault.client-secret = " + + System.getProperty("azure.keyvault.client-secret")); + + LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", + System.getProperty("azure.keyvault.tenant-id")); + + System.out.println("*****************************logEnd**************************"); + }); } @BeforeEach diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 99dccd1839a81..4a9c5a44d0a73 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -15,7 +15,9 @@ import java.security.cert.X509Certificate; import java.util.Base64; import java.util.Optional; +import java.util.logging.Logger; +import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -25,6 +27,8 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyStoreTest { + private static final Logger LOGGER = Logger.getLogger(KeyVaultKeyStoreTest.class.getName()); + /** * Stores the CER test certificate (which is valid til 2120). */ @@ -57,8 +61,49 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value)); + .ifPresent(value -> { + System.out.println("*****************************logStart**************************"); + LOGGER.log(INFO, "LOGGER: the first name of sub = ", + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + + System.out.println("the first name of certificate name = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + System.out.println("the first name of sub = " + + System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); + + LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); + + System.out.println("azure certificate length = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); + + + System.out.println("azure certificate length / 2 = " + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( + "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); + + System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); + System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + + System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); + System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + + System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); + System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); + System.out.println("azure.keyvault.client-secret = " + + System.getProperty("azure.keyvault.client-secret")); + + LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", + System.getProperty("azure.keyvault.tenant-id")); + + System.out.println("*****************************logEnd**************************"); + }); } @BeforeEach diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 1f4b62ab16981..32598f3603bb1 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -13,8 +13,8 @@ "type": "String" }, "endpointSuffix": { - "defaultValue": "vault.azure.net", - "type": "String" + "type": "String", + "defaultValue": "vault.azure.net" }, "testApplicationId": { "type": "String" @@ -72,7 +72,7 @@ } }, "variables": { - "keyVaultName": "jcaKeyVault02", + "keyVaultName": "[parameters('baseName')]", "azureKeyVaultUrl": "[format('https://{0}.{1}/', parameters('baseName'), parameters('endpointSuffix'))]", "bootstrapRoleAssignmentId": "[guid(concat(resourceGroup().id, 'contributor'))]", "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]" From 17a5810183f81c2239cc3027fe35e215d33ae205 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 29 Apr 2021 15:24:20 +0800 Subject: [PATCH 28/38] Try to get certificate name. --- .../keyvault/jca/KeyVaultClientTest.java | 25 ++++++-- .../keyvault/jca/KeyVaultJcaProviderTest.java | 62 +++++++------------ .../keyvault/jca/KeyVaultKeyManagerTest.java | 47 +++----------- .../keyvault/jca/KeyVaultKeyStoreTest.java | 47 +++----------- 4 files changed, 62 insertions(+), 119 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 9955f309df46f..9278834cf67d6 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -14,14 +14,29 @@ public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; + String getEnvValue(String key){ + String value = System.getenv(key); + System.out.println("*****************************logStart"); + System.out.println("Original: " + key + " = " + value); + String lowerCaseValue = value.toLowerCase(); + System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); + String upperCaseValue = value.toLowerCase(); + System.out.println("upperCaseValue" + key + " = " + upperCaseValue); + String halfValue = value.toLowerCase().substring(value.length() - 1); + System.out.println("halfValue" + key + " = " + halfValue); + System.out.println("*****************************logEnd"); + return value; + } + @BeforeEach public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( - System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); - certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + getEnvValue("AZURE_KEYVAULT_URI"), + getEnvValue("AZURE_KEYVAULT_TENANT-ID"), + getEnvValue("AZURE_KEYVAULT_CLIENT-ID"), + getEnvValue("AZURE_KEYVAULT_CLIENT-SECRET")); + certificateName = getEnvValue("AZURE_KEYVAULT_CERTIFICATE_NAME"); + getEnvValue(""); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 6c6b88f2fc5aa..ee43d07493ed1 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -13,7 +13,6 @@ import java.util.Optional; import java.util.logging.Logger; -import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; /** @@ -24,51 +23,38 @@ public class KeyVaultJcaProviderTest { private static final Logger LOGGER = Logger.getLogger(KeyVaultJcaProviderTest.class.getName()); + String getEnvValue(String key){ + String value = System.getenv(key); + System.out.println("*****************************logStart"); + System.out.println("Original: " + key + " = " + value); + String lowerCaseValue = value.toLowerCase(); + System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); + String upperCaseValue = value.toLowerCase(); + System.out.println("upperCaseValue" + key + " = " + upperCaseValue); + String halfValue = value.toLowerCase().substring(value.length() - 1); + System.out.println("halfValue" + key + " = " + halfValue); + System.out.println("*****************************logEnd"); + return value; + } + + public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) .ifPresent(value -> { System.out.println("*****************************logStart**************************"); - LOGGER.log(INFO, "LOGGER: the first name of sub = ", - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - - System.out.println("the first name of certificate name = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - System.out.println("the first name of sub = " + - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - - System.out.println("azure certificate length = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); - - - System.out.println("azure certificate length / 2 = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); - System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.out.println("Original: " + key + " = " + value); + String lowerCaseValue = value.toLowerCase(); + System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); + String upperCaseValue = value.toUpperCase(); + System.out.println("upperCaseValue" + key + " = " + upperCaseValue); + String halfValue = value.toLowerCase().substring(value.length() - 1); + System.out.println("halfValue" + key + " = " + halfValue); System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); - - System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); - System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); - System.out.println("azure.keyvault.client-secret = " + - System.getProperty("azure.keyvault.client-secret")); - - LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", - System.getProperty("azure.keyvault.tenant-id")); - + String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); + System.out.println("Original property: " + key + " = " + propertyValue); System.out.println("*****************************logEnd**************************"); }); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 4977bf66c721e..e74a6ab812985 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -17,7 +17,6 @@ import java.util.Optional; import java.util.logging.Logger; -import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") @@ -33,45 +32,17 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .filter(StringUtils::hasText) .ifPresent(value -> { System.out.println("*****************************logStart**************************"); - LOGGER.log(INFO, "LOGGER: the first name of sub = ", - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - - System.out.println("the first name of certificate name = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - System.out.println("the first name of sub = " + - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - - System.out.println("azure certificate length = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); - - - System.out.println("azure certificate length / 2 = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); - System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.out.println("Original: " + key + " = " + value); + String lowerCaseValue = value.toLowerCase(); + System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); + String upperCaseValue = value.toUpperCase(); + System.out.println("upperCaseValue" + key + " = " + upperCaseValue); + String halfValue = value.toLowerCase().substring(value.length() - 1); + System.out.println("halfValue" + key + " = " + halfValue); System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); - - System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); - System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); - System.out.println("azure.keyvault.client-secret = " + - System.getProperty("azure.keyvault.client-secret")); - - LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", - System.getProperty("azure.keyvault.tenant-id")); - + String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); + System.out.println("Original property: " + key + " = " + propertyValue); System.out.println("*****************************logEnd**************************"); }); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 4a9c5a44d0a73..dc372b6fc6cde 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -17,7 +17,6 @@ import java.util.Optional; import java.util.logging.Logger; -import static java.util.logging.Level.INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -63,45 +62,17 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .filter(StringUtils::hasText) .ifPresent(value -> { System.out.println("*****************************logStart**************************"); - LOGGER.log(INFO, "LOGGER: the first name of sub = ", - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - - System.out.println("the first name of certificate name = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - System.out.println("the first name of sub = " + - System.getenv("KEYVAULT_SUBSCRIPTION_ID").toLowerCase().charAt(0)); - - LOGGER.log(INFO, "LOGGER: the first name of certificate name = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").toLowerCase().charAt(0)); - - System.out.println("azure certificate length = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); - - - System.out.println("azure certificate length / 2 = " + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - LOGGER.log(INFO, "LOGGER: azure certificate length / 2 = ", - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").substring(0, System.getenv( - "AZURE_KEYVAULT_CERTIFICATE_NAME").length() / 2)); - - System.out.println("AZURE_KEYVAULT_URI" + System.getenv("AZURE_KEYVAULT_URI")); - System.out.println("AZURE_KEYVAULT_CERTIFICATE_NAME" + - System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println("KEYVAULT_ sub id = " + System.getenv("KEYVAULT_SUBSCRIPTION_ID")); + System.out.println("Original: " + key + " = " + value); + String lowerCaseValue = value.toLowerCase(); + System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); + String upperCaseValue = value.toUpperCase(); + System.out.println("upperCaseValue" + key + " = " + upperCaseValue); + String halfValue = value.toLowerCase().substring(value.length() - 1); + System.out.println("halfValue" + key + " = " + halfValue); System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); - - System.out.println("azure.keyvault.uri = " + System.getProperty("azure.keyvault.uri")); - System.out.println("azure.keyvault.tenant-id = " + System.getProperty("azure.keyvault.tenant-id")); - System.out.println("azure.keyvault.client-secret = " + - System.getProperty("azure.keyvault.client-secret")); - - LOGGER.log(INFO, "LOGGER: azure.keyvault.tenant-id = ", - System.getProperty("azure.keyvault.tenant-id")); - + String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); + System.out.println("Original property: " + key + " = " + propertyValue); System.out.println("*****************************logEnd**************************"); }); } From 9c2e9eb58cfc9e39ee3b9e281e589beaa1588800 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 29 Apr 2021 15:26:24 +0800 Subject: [PATCH 29/38] Format code. --- eng/common/TestResources/New-TestResources.ps1 | 2 +- .../com/azure/security/keyvault/jca/KeyVaultClientTest.java | 2 +- .../azure/security/keyvault/jca/KeyVaultJcaProviderTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index aa95298be582e..11eeace91a7cc 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -140,7 +140,7 @@ try { # Enumerate test resources to deploy. Fail if none found. $repositoryRoot = "$PSScriptRoot/../../.." | Resolve-Path $root = [System.IO.Path]::Combine($repositoryRoot, "sdk", $ServiceDirectory) | Resolve-Path - $templateFileName = 'test-resources.json' + $templateFileName = 'test-resources2.json' $templateFiles = @() Write-Verbose "Checking for '$templateFileName' files under '$root'" diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 9278834cf67d6..9f0387dcaa179 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -14,7 +14,7 @@ public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; - String getEnvValue(String key){ + String getEnvValue(String key) { String value = System.getenv(key); System.out.println("*****************************logStart"); System.out.println("Original: " + key + " = " + value); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index ee43d07493ed1..1344ba0988e57 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -23,7 +23,7 @@ public class KeyVaultJcaProviderTest { private static final Logger LOGGER = Logger.getLogger(KeyVaultJcaProviderTest.class.getName()); - String getEnvValue(String key){ + String getEnvValue(String key) { String value = System.getenv(key); System.out.println("*****************************logStart"); System.out.println("Original: " + key + " = " + value); From d83f4931f8018227fac4bfde88bd07b7ae31c99e Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 29 Apr 2021 15:27:56 +0800 Subject: [PATCH 30/38] Format code. --- eng/common/TestResources/New-TestResources.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index 11eeace91a7cc..aa95298be582e 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -140,7 +140,7 @@ try { # Enumerate test resources to deploy. Fail if none found. $repositoryRoot = "$PSScriptRoot/../../.." | Resolve-Path $root = [System.IO.Path]::Combine($repositoryRoot, "sdk", $ServiceDirectory) | Resolve-Path - $templateFileName = 'test-resources2.json' + $templateFileName = 'test-resources.json' $templateFiles = @() Write-Verbose "Checking for '$templateFileName' files under '$root'" From 9fd2035a3fe2fb178138a6002241c723a1e342ed Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 30 Apr 2021 11:27:46 +0800 Subject: [PATCH 31/38] add log for test. --- .../security/keyvault/jca/AuthClientTest.java | 8 +- .../keyvault/jca/KeyVaultClientTest.java | 31 +++----- .../keyvault/jca/KeyVaultJcaProviderTest.java | 79 +++++++++++-------- .../keyvault/jca/KeyVaultKeyManagerTest.java | 48 +++++++---- .../keyvault/jca/KeyVaultKeyStoreTest.java | 59 ++++++++++---- .../jca/KeyVaultLoadStoreParameterTest.java | 6 +- .../keyvault/jca/ServerSocketTest.java | 55 +++++++++---- sdk/keyvault/test-resources.json | 10 +-- 8 files changed, 180 insertions(+), 116 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index de3401174b56d..d2efcf12e0b9b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -18,14 +18,14 @@ public class AuthClientTest { /** * Test getAuthorizationToken method. - * + * * @throws Exception when a serious error occurs. */ @Test public void testGetAuthorizationToken() throws Exception { - String tenantId = System.getenv("AZURE_KEYVAULT_TENANT-ID"); - String clientId = System.getenv("AZURE_KEYVAULT_CLIENT-ID"); - String clientSecret = System.getenv("AZURE_KEYVAULT_CLIENT-SECRET"); + String tenantId = System.getenv("AZURE_KEYVAULT_TENANT_ID"); + String clientId = System.getenv("AZURE_KEYVAULT_CLIENT_ID"); + String clientSecret = System.getenv("AZURE_KEYVAULT_CLIENT_SECRET"); AuthClient authClient = new AuthClient(); String result = authClient.getAccessToken( "https://management.azure.com/", diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index 9f0387dcaa179..db8d892df1f58 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -18,12 +18,11 @@ String getEnvValue(String key) { String value = System.getenv(key); System.out.println("*****************************logStart"); System.out.println("Original: " + key + " = " + value); - String lowerCaseValue = value.toLowerCase(); - System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); - String upperCaseValue = value.toLowerCase(); - System.out.println("upperCaseValue" + key + " = " + upperCaseValue); - String halfValue = value.toLowerCase().substring(value.length() - 1); - System.out.println("halfValue" + key + " = " + halfValue); + String preValue = value.toLowerCase().substring(0, value.length() / 2); + System.out.println("preValue" + key + " = " + preValue); + String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); + System.out.println("postValue" + key + " = " + postValue); + System.out.println(key + "‘s length = " + value.length()); System.out.println("*****************************logEnd"); return value; } @@ -32,34 +31,24 @@ String getEnvValue(String key) { public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( getEnvValue("AZURE_KEYVAULT_URI"), - getEnvValue("AZURE_KEYVAULT_TENANT-ID"), - getEnvValue("AZURE_KEYVAULT_CLIENT-ID"), - getEnvValue("AZURE_KEYVAULT_CLIENT-SECRET")); + getEnvValue("AZURE_KEYVAULT_TENANT_ID"), + getEnvValue("AZURE_KEYVAULT_CLIENT_ID"), + getEnvValue("AZURE_KEYVAULT_CLIENT_SECRET")); certificateName = getEnvValue("AZURE_KEYVAULT_CERTIFICATE_NAME"); - getEnvValue(""); } @Test public void testGetAliases() { - System.out.println("*****************************logStart**************************"); - keyVaultClient.getAliases().forEach(System.out::println); - System.out.println(keyVaultClient.getAliases().size()); - System.out.println("*****************************logEnd**************************"); assertNotNull(keyVaultClient.getAliases()); } @Test public void testGetCertificate() { - System.out.println("*****************************logStart**************************"); - String certificate_name = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME").length()); - System.out.println(certificate_name.substring(0, certificate_name.length() - 1)); - System.out.println("*****************************logEnd**************************"); - assertNotNull(keyVaultClient.getCertificate("myalias")); + assertNotNull(keyVaultClient.getCertificate(certificateName)); } @Test public void testGetKey() { - assertNotNull(keyVaultClient.getKey("myalias", null)); + assertNotNull(keyVaultClient.getKey(certificateName, null)); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 1344ba0988e57..3be81c81fdc78 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -11,7 +11,6 @@ import java.security.KeyStore; import java.security.Security; import java.util.Optional; -import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -21,23 +20,6 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultJcaProviderTest { - private static final Logger LOGGER = Logger.getLogger(KeyVaultJcaProviderTest.class.getName()); - - String getEnvValue(String key) { - String value = System.getenv(key); - System.out.println("*****************************logStart"); - System.out.println("Original: " + key + " = " + value); - String lowerCaseValue = value.toLowerCase(); - System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); - String upperCaseValue = value.toLowerCase(); - System.out.println("upperCaseValue" + key + " = " + upperCaseValue); - String halfValue = value.toLowerCase().substring(value.length() - 1); - System.out.println("halfValue" + key + " = " + halfValue); - System.out.println("*****************************logEnd"); - return value; - } - - public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) @@ -45,16 +27,43 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .ifPresent(value -> { System.out.println("*****************************logStart**************************"); System.out.println("Original: " + key + " = " + value); - String lowerCaseValue = value.toLowerCase(); - System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); - String upperCaseValue = value.toUpperCase(); - System.out.println("upperCaseValue" + key + " = " + upperCaseValue); - String halfValue = value.toLowerCase().substring(value.length() - 1); - System.out.println("halfValue" + key + " = " + halfValue); - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); - System.out.println("Original property: " + key + " = " + propertyValue); + String preValue = value.toLowerCase().substring(0, value.length() / 2); + System.out.println("preValue" + key + " = " + preValue); + String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); + System.out.println("postValue" + key + " = " + postValue); + System.out.println(key + "‘s length = " + value.length()); + + if (key.equals("AZURE_KEYVAULT_URI")) { + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + } else { + int index = key.lastIndexOf("_"); + StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); + System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); + } + if (System.getProperty("azure.keyvault.client-id") != null) { + String property = System.getProperty("azure.keyvault.client-id"); + System.out.println("Original property : azure.keyvault.client-id = " + property); + String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); + System.out.println("property preValue: azure.keyvault.client-id = " + propertyPreValue); + String propertyPostValue = property.toLowerCase().substring(property.length() / 2, + property.length() - 1); + System.out.println("property postValue: azure.keyvault.client-id = " + propertyPostValue); + } + + if (System.getenv("CERTIFICATE_SCRIPT_CONTENT") != null) { + String certificateScriptContent = System.getenv("CERTIFICATE_SCRIPT_CONTENT"); + System.out.println("Original certificate_script_content = " + certificateScriptContent); + String propertyPreValue = certificateScriptContent.toLowerCase().substring(0, + certificateScriptContent.length() / 2); + System.out.println("property certificate_script_content = " + propertyPreValue); + String propertyPostValue = + certificateScriptContent.toLowerCase().substring(certificateScriptContent.length() / 2, + certificateScriptContent.length() - 1); + System.out.println("property postValue propertyPostValue = " + propertyPostValue); + } + + System.out.println("*****************************logEnd**************************"); }); } @@ -63,9 +72,9 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { public void setEnvironmentProperty() { putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); } /** @@ -90,10 +99,10 @@ public void testGetCertificate() throws Exception { KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); keystore.load(parameter); - assertNotNull(keystore.getCertificate("myalias")); + assertNotNull(keystore.getCertificate(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"))); } } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index e74a6ab812985..838f70e9ee08d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -33,16 +33,30 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .ifPresent(value -> { System.out.println("*****************************logStart**************************"); System.out.println("Original: " + key + " = " + value); - String lowerCaseValue = value.toLowerCase(); - System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); - String upperCaseValue = value.toUpperCase(); - System.out.println("upperCaseValue" + key + " = " + upperCaseValue); - String halfValue = value.toLowerCase().substring(value.length() - 1); - System.out.println("halfValue" + key + " = " + halfValue); - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); - System.out.println("Original property: " + key + " = " + propertyValue); + String preValue = value.toLowerCase().substring(0, value.length() / 2); + System.out.println("preValue" + key + " = " + preValue); + String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); + System.out.println("postValue" + key + " = " + postValue); + System.out.println(key + "‘s length = " + value.length()); + + if (key.equals("AZURE_KEYVAULT_URI")) { + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + } else { + int index = key.lastIndexOf("_"); + StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); + System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); + } + if (System.getProperty("azure.keyvault.client-id") != null) { + String property = System.getProperty("azure.keyvault.client-id"); + System.out.println("Original property : " + key + " = " + property); + String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); + System.out.println("property preValue" + key + " = " + propertyPreValue); + String propertyPostValue = property.toLowerCase().substring(property.length() / 2, + property.length() - 1); + System.out.println("property postValue" + key + " = " + propertyPostValue); + } + System.out.println("*****************************logEnd**************************"); }); } @@ -52,16 +66,16 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx CertificateException { putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); keyStore.load(parameter); manager = new KeyVaultKeyManager(keyStore, null); certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); @@ -69,7 +83,7 @@ public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmEx @Test public void testPrivateKey() { - assertNotNull(manager.getPrivateKey("myalias")); + assertNotNull(manager.getPrivateKey(certificateName)); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index dc372b6fc6cde..7dda1f42f961a 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -63,16 +63,41 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .ifPresent(value -> { System.out.println("*****************************logStart**************************"); System.out.println("Original: " + key + " = " + value); - String lowerCaseValue = value.toLowerCase(); - System.out.println("lowerCaseValue" + key + " = " + lowerCaseValue); - String upperCaseValue = value.toUpperCase(); - System.out.println("upperCaseValue" + key + " = " + upperCaseValue); - String halfValue = value.toLowerCase().substring(value.length() - 1); - System.out.println("halfValue" + key + " = " + halfValue); - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - String propertyValue = System.getProperty(key.toLowerCase().replaceAll("_", ".")); - System.out.println("Original property: " + key + " = " + propertyValue); + String preValue = value.toLowerCase().substring(0, value.length() / 2); + System.out.println("preValue" + key + " = " + preValue); + String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); + System.out.println("postValue" + key + " = " + postValue); + System.out.println(key + "‘s length = " + value.length()); + + if (key.equals("AZURE_KEYVAULT_URI")) { + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + } else { + int index = key.lastIndexOf("_"); + StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); + System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); + } + if (System.getProperty("azure.keyvault.client-id") != null) { + String property = System.getProperty("azure.keyvault.client-id"); + System.out.println("Original property : " + key + " = " + property); + String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); + System.out.println("property preValue" + key + " = " + propertyPreValue); + String propertyPostValue = property.toLowerCase().substring(property.length() / 2, + property.length() - 1); + System.out.println("property postValue" + key + " = " + propertyPostValue); + } + if (System.getenv("CERTIFICATE_SCRIPT_CONTENT") != null) { + String certificate_script_content = System.getenv("CERTIFICATE_SCRIPT_CONTENT"); + System.out.println("Original certificate_script_content = " + certificate_script_content); + String propertyPreValue = certificate_script_content.toLowerCase().substring(0, + certificate_script_content.length() / 2); + System.out.println("property certificate_script_content = " + propertyPreValue); + String propertyPostValue = + certificate_script_content.toLowerCase().substring(certificate_script_content.length() / 2, + certificate_script_content.length() - 1); + System.out.println("property postValue propertyPostValue = " + propertyPostValue); + } + System.out.println("*****************************logEnd**************************"); }); } @@ -81,15 +106,15 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { public void setEnvironmentProperty() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); keystore = new KeyVaultKeyStore(); keystore.engineLoad(parameter); } @@ -148,7 +173,7 @@ public void testEngineGetKey() { @Test public void testEngineIsKeyEntry() { - assertTrue(keystore.engineIsKeyEntry("myalias")); + assertTrue(keystore.engineIsKeyEntry(certificateName)); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index 1d6df50019456..509b6d1a0ce85 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -21,9 +21,9 @@ public class KeyVaultLoadStoreParameterTest { public void testGetProtectionParameter() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET") + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET") ); assertNull(parameter.getProtectionParameter()); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index e941746bcdbd3..ed1e8fdcbc050 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -42,8 +42,35 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { Optional.of(key) .map(System::getenv) .filter(StringUtils::hasText) - .ifPresent(value -> System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value)); + .ifPresent(value -> { + System.out.println("*****************************logStart**************************"); + System.out.println("Original: " + key + " = " + value); + String preValue = value.toLowerCase().substring(0, value.length() / 2); + System.out.println("preValue" + key + " = " + preValue); + String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); + System.out.println("postValue" + key + " = " + postValue); + System.out.println(key + "‘s length = " + value.length()); + + if (key.equals("AZURE_KEYVAULT_URI")) { + System.getProperties().put( + key.toLowerCase().replaceAll("_", "."), value); + } else { + int index = key.lastIndexOf("_"); + StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); + System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); + } + if (System.getProperty("azure.keyvault.client-id") != null) { + String property = System.getProperty("azure.keyvault.client-id"); + System.out.println("Original property : " + key + " = " + property); + String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); + System.out.println("property preValue" + key + " = " + propertyPreValue); + String propertyPostValue = property.toLowerCase().substring(property.length() / 2, + property.length() - 1); + System.out.println("property postValue" + key + " = " + propertyPostValue); + } + + System.out.println("*****************************logEnd**************************"); + }); } /** @@ -70,15 +97,15 @@ public void testServerSocket() throws Exception { */ putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); @@ -177,15 +204,15 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { */ putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT-SECRET"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); + putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-ID"), - System.getenv("AZURE_KEYVAULT_CLIENT-SECRET")); + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); ks.load(parameter); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 32598f3603bb1..c2b03df124361 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -309,21 +309,21 @@ "type": "string", "value": "[variables('azureKeyVaultUrl')]" }, - "AZURE_KEYVAULT_TENANT-ID": { + "AZURE_KEYVAULT_TENANT_ID": { "type": "string", "value": "[parameters('tenantId')]" }, - "AZURE_KEYVAULT_CLIENT-ID": { + "AZURE_KEYVAULT_CLIENT_ID": { "type": "string", "value": "[parameters('testApplicationId')]" }, - "AZURE_KEYVAULT_CLIENT-SECRET": { + "AZURE_KEYVAULT_CLIENT_SECRET": { "type": "string", "value": "[parameters('testApplicationSecret')]" }, - "AZURE_KEYVAULT_CERTIFICATE_NAME": { + "CERTIFICATE_SCRIPT_CONTENT": { "type": "string", - "value": "[parameters('certificateName')]" + "value": "[reference('createAddCertificate').outputs.certThumbprint]" } } } From c1024c40afc1fb9a524e3ddbea6ced5255792905 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 30 Apr 2021 11:43:32 +0800 Subject: [PATCH 32/38] merge conflicts. --- eng/versioning/version_client.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index b20e64af0bdcb..7caea14930618 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -101,6 +101,7 @@ com.azure:azure-security-attestation;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-security-keyvault-administration;4.0.0-beta.6;4.0.0-beta.7 com.azure:azure-security-keyvault-certificates;4.1.7;4.2.0-beta.6 com.azure:azure-security-keyvault-jca;1.0.0-beta.6;1.0.0-beta.7 +com.azure:azure-security-test-keyvault-jca;1.0.0;1.0.0 com.azure:azure-security-keyvault-keys;4.2.7;4.3.0-beta.8 com.azure:azure-security-keyvault-secrets;4.2.7;4.3.0-beta.6 com.azure:azure-sdk-template;1.2.1-beta.2;1.2.1-beta.16 From 859f7252ac6b6c0d5d0195010003143c8919be75 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 30 Apr 2021 13:42:55 +0800 Subject: [PATCH 33/38] add certificate name. --- sdk/keyvault/test-resources.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index c2b03df124361..0572308c5eb8f 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -321,6 +321,10 @@ "type": "string", "value": "[parameters('testApplicationSecret')]" }, + "AZURE_KEYVAULT_CERTIFICATE_NAME": { + "type": "string", + "value": "[parameters('certificateName')]" + }, "CERTIFICATE_SCRIPT_CONTENT": { "type": "string", "value": "[reference('createAddCertificate').outputs.certThumbprint]" From d0426a8ba3058127625671514cfdcbcdca2048a3 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Thu, 6 May 2021 14:21:13 +0800 Subject: [PATCH 34/38] remove log codes. --- .../keyvault/jca/KeyVaultClientTest.java | 23 +++------- .../keyvault/jca/KeyVaultJcaProviderTest.java | 41 ----------------- .../keyvault/jca/KeyVaultKeyManagerTest.java | 19 -------- .../keyvault/jca/KeyVaultKeyStoreTest.java | 44 ------------------- .../keyvault/jca/ServerSocketTest.java | 19 -------- sdk/keyvault/test-resources.json | 4 -- 6 files changed, 5 insertions(+), 145 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index db8d892df1f58..b01290338a2c2 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -14,27 +14,14 @@ public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; - String getEnvValue(String key) { - String value = System.getenv(key); - System.out.println("*****************************logStart"); - System.out.println("Original: " + key + " = " + value); - String preValue = value.toLowerCase().substring(0, value.length() / 2); - System.out.println("preValue" + key + " = " + preValue); - String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); - System.out.println("postValue" + key + " = " + postValue); - System.out.println(key + "‘s length = " + value.length()); - System.out.println("*****************************logEnd"); - return value; - } - @BeforeEach public void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( - getEnvValue("AZURE_KEYVAULT_URI"), - getEnvValue("AZURE_KEYVAULT_TENANT_ID"), - getEnvValue("AZURE_KEYVAULT_CLIENT_ID"), - getEnvValue("AZURE_KEYVAULT_CLIENT_SECRET")); - certificateName = getEnvValue("AZURE_KEYVAULT_CERTIFICATE_NAME"); + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 3be81c81fdc78..0c085d995b020 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -25,14 +25,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .map(System::getenv) .filter(StringUtils::hasText) .ifPresent(value -> { - System.out.println("*****************************logStart**************************"); - System.out.println("Original: " + key + " = " + value); - String preValue = value.toLowerCase().substring(0, value.length() / 2); - System.out.println("preValue" + key + " = " + preValue); - String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); - System.out.println("postValue" + key + " = " + postValue); - System.out.println(key + "‘s length = " + value.length()); - if (key.equals("AZURE_KEYVAULT_URI")) { System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); @@ -41,30 +33,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); } - if (System.getProperty("azure.keyvault.client-id") != null) { - String property = System.getProperty("azure.keyvault.client-id"); - System.out.println("Original property : azure.keyvault.client-id = " + property); - String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); - System.out.println("property preValue: azure.keyvault.client-id = " + propertyPreValue); - String propertyPostValue = property.toLowerCase().substring(property.length() / 2, - property.length() - 1); - System.out.println("property postValue: azure.keyvault.client-id = " + propertyPostValue); - } - - if (System.getenv("CERTIFICATE_SCRIPT_CONTENT") != null) { - String certificateScriptContent = System.getenv("CERTIFICATE_SCRIPT_CONTENT"); - System.out.println("Original certificate_script_content = " + certificateScriptContent); - String propertyPreValue = certificateScriptContent.toLowerCase().substring(0, - certificateScriptContent.length() / 2); - System.out.println("property certificate_script_content = " + propertyPreValue); - String propertyPostValue = - certificateScriptContent.toLowerCase().substring(certificateScriptContent.length() / 2, - certificateScriptContent.length() - 1); - System.out.println("property postValue propertyPostValue = " + propertyPostValue); - } - - - System.out.println("*****************************logEnd**************************"); }); } @@ -77,15 +45,6 @@ public void setEnvironmentProperty() { putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); } - /** - * Test the constructor. - */ - @Test - public void testConstructor() { - KeyVaultJcaProvider provider = new KeyVaultJcaProvider(); - assertNotNull(provider); - } - /** * Test getting a certificate using the Provider. * diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 838f70e9ee08d..14c8bd9907cf6 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -31,14 +31,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .map(System::getenv) .filter(StringUtils::hasText) .ifPresent(value -> { - System.out.println("*****************************logStart**************************"); - System.out.println("Original: " + key + " = " + value); - String preValue = value.toLowerCase().substring(0, value.length() / 2); - System.out.println("preValue" + key + " = " + preValue); - String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); - System.out.println("postValue" + key + " = " + postValue); - System.out.println(key + "‘s length = " + value.length()); - if (key.equals("AZURE_KEYVAULT_URI")) { System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); @@ -47,17 +39,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); } - if (System.getProperty("azure.keyvault.client-id") != null) { - String property = System.getProperty("azure.keyvault.client-id"); - System.out.println("Original property : " + key + " = " + property); - String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); - System.out.println("property preValue" + key + " = " + propertyPreValue); - String propertyPostValue = property.toLowerCase().substring(property.length() / 2, - property.length() - 1); - System.out.println("property postValue" + key + " = " + propertyPostValue); - } - - System.out.println("*****************************logEnd**************************"); }); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 7dda1f42f961a..bed9917ba8104 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -15,7 +15,6 @@ import java.security.cert.X509Certificate; import java.util.Base64; import java.util.Optional; -import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -26,7 +25,6 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultKeyStoreTest { - private static final Logger LOGGER = Logger.getLogger(KeyVaultKeyStoreTest.class.getName()); /** * Stores the CER test certificate (which is valid til 2120). @@ -61,14 +59,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .map(System::getenv) .filter(StringUtils::hasText) .ifPresent(value -> { - System.out.println("*****************************logStart**************************"); - System.out.println("Original: " + key + " = " + value); - String preValue = value.toLowerCase().substring(0, value.length() / 2); - System.out.println("preValue" + key + " = " + preValue); - String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); - System.out.println("postValue" + key + " = " + postValue); - System.out.println(key + "‘s length = " + value.length()); - if (key.equals("AZURE_KEYVAULT_URI")) { System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); @@ -77,28 +67,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); } - if (System.getProperty("azure.keyvault.client-id") != null) { - String property = System.getProperty("azure.keyvault.client-id"); - System.out.println("Original property : " + key + " = " + property); - String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); - System.out.println("property preValue" + key + " = " + propertyPreValue); - String propertyPostValue = property.toLowerCase().substring(property.length() / 2, - property.length() - 1); - System.out.println("property postValue" + key + " = " + propertyPostValue); - } - if (System.getenv("CERTIFICATE_SCRIPT_CONTENT") != null) { - String certificate_script_content = System.getenv("CERTIFICATE_SCRIPT_CONTENT"); - System.out.println("Original certificate_script_content = " + certificate_script_content); - String propertyPreValue = certificate_script_content.toLowerCase().substring(0, - certificate_script_content.length() / 2); - System.out.println("property certificate_script_content = " + propertyPreValue); - String propertyPostValue = - certificate_script_content.toLowerCase().substring(certificate_script_content.length() / 2, - certificate_script_content.length() - 1); - System.out.println("property postValue propertyPostValue = " + propertyPostValue); - } - - System.out.println("*****************************logEnd**************************"); }); } @@ -144,10 +112,6 @@ public void testEngineGetCertificateChain() { assertNotNull(keystore.engineGetCertificateChain(certificateName)); } - @Test - public void testEngineIsCertificateEntry() { - assertTrue(keystore.engineIsCertificateEntry(certificateName)); - } @Test public void testEngineSetCertificateEntry() { @@ -171,10 +135,6 @@ public void testEngineGetKey() { assertNotNull(keystore.engineGetKey(certificateName, null)); } - @Test - public void testEngineIsKeyEntry() { - assertTrue(keystore.engineIsKeyEntry(certificateName)); - } @Test public void testEngineSetKeyEntry() { @@ -193,10 +153,6 @@ public void testEngineAliases() { assertTrue(keystore.engineAliases().hasMoreElements()); } - @Test - public void testEngineContainsAlias() { - assertTrue(keystore.engineContainsAlias(certificateName)); - } @Test public void testEngineGetCreationDate() { diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index ed1e8fdcbc050..ec52665fa142d 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -43,14 +43,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { .map(System::getenv) .filter(StringUtils::hasText) .ifPresent(value -> { - System.out.println("*****************************logStart**************************"); - System.out.println("Original: " + key + " = " + value); - String preValue = value.toLowerCase().substring(0, value.length() / 2); - System.out.println("preValue" + key + " = " + preValue); - String postValue = value.toLowerCase().substring(value.length() / 2, value.length() - 1); - System.out.println("postValue" + key + " = " + postValue); - System.out.println(key + "‘s length = " + value.length()); - if (key.equals("AZURE_KEYVAULT_URI")) { System.getProperties().put( key.toLowerCase().replaceAll("_", "."), value); @@ -59,17 +51,6 @@ public static void putEnvironmentPropertyToSystemProperty(String key) { StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); } - if (System.getProperty("azure.keyvault.client-id") != null) { - String property = System.getProperty("azure.keyvault.client-id"); - System.out.println("Original property : " + key + " = " + property); - String propertyPreValue = property.toLowerCase().substring(0, property.length() / 2); - System.out.println("property preValue" + key + " = " + propertyPreValue); - String propertyPostValue = property.toLowerCase().substring(property.length() / 2, - property.length() - 1); - System.out.println("property postValue" + key + " = " + propertyPostValue); - } - - System.out.println("*****************************logEnd**************************"); }); } diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 0572308c5eb8f..730ed1f58be9a 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -324,10 +324,6 @@ "AZURE_KEYVAULT_CERTIFICATE_NAME": { "type": "string", "value": "[parameters('certificateName')]" - }, - "CERTIFICATE_SCRIPT_CONTENT": { - "type": "string", - "value": "[reference('createAddCertificate').outputs.certThumbprint]" } } } From 72e484aae222b0adc7772693d95f443045d3b632 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Fri, 7 May 2021 10:11:56 +0800 Subject: [PATCH 35/38] change putSystemProperty method. --- .../keyvault/jca/KeyVaultJcaProviderTest.java | 44 ++++++++------- .../keyvault/jca/KeyVaultKeyManagerTest.java | 41 +++++++------- .../keyvault/jca/KeyVaultKeyStoreTest.java | 41 +++++++------- .../keyvault/jca/ServerSocketTest.java | 53 ++++++++++--------- 4 files changed, 88 insertions(+), 91 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 0c085d995b020..a66f2a1028223 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -6,11 +6,11 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import org.springframework.util.StringUtils; import java.security.KeyStore; import java.security.Security; -import java.util.Optional; +import java.util.Arrays; +import java.util.List; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -20,29 +20,29 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class KeyVaultJcaProviderTest { - public static void putEnvironmentPropertyToSystemProperty(String key) { - Optional.of(key) - .map(System::getenv) - .filter(StringUtils::hasText) - .ifPresent(value -> { - if (key.equals("AZURE_KEYVAULT_URI")) { - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - } else { - int index = key.lastIndexOf("_"); - StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); - System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); - } - }); + public static void putEnvironmentPropertyToSystemProperty(List key) { + key.forEach( + environmentPropertyKey -> { + String value = System.getenv(environmentPropertyKey); + if (value != null) { + String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", + "azure.keyvault.").replaceAll("_", "-"); + System.getProperties().put(systemPropertyKey, value); + } + } + ); } + @BeforeEach public void setEnvironmentProperty() { - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); + putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "azure.keyvault.aad-authentication-url", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); } /** @@ -52,8 +52,6 @@ public void setEnvironmentProperty() { */ @Test public void testGetCertificate() throws Exception { - System.out.println(System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME")); - System.out.println(System.getenv("KEYVAULT_SUBSCRIPTION_ID")); Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index 14c8bd9907cf6..b4b494a1881be 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -6,7 +6,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import org.springframework.util.StringUtils; import java.io.IOException; import java.security.KeyStore; @@ -14,7 +13,8 @@ import java.security.NoSuchAlgorithmException; import java.security.Security; import java.security.cert.CertificateException; -import java.util.Optional; +import java.util.Arrays; +import java.util.List; import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -26,30 +26,29 @@ public class KeyVaultKeyManagerTest { private KeyVaultKeyManager manager; private String certificateName; - public static void putEnvironmentPropertyToSystemProperty(String key) { - Optional.of(key) - .map(System::getenv) - .filter(StringUtils::hasText) - .ifPresent(value -> { - if (key.equals("AZURE_KEYVAULT_URI")) { - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - } else { - int index = key.lastIndexOf("_"); - StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); - System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); - } - }); + public static void putEnvironmentPropertyToSystemProperty(List key) { + key.forEach( + environmentPropertyKey -> { + String value = System.getenv(environmentPropertyKey); + if (value != null) { + String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", + "azure.keyvault.").replaceAll("_", "-"); + System.getProperties().put(systemPropertyKey, value); + } + } + ); } @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); + putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "azure.keyvault.aad-authentication-url", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); Security.insertProviderAt(new KeyVaultJcaProvider(), 1); KeyStore keyStore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index bed9917ba8104..d36277037f215 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -6,15 +6,15 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import org.springframework.util.StringUtils; import java.io.ByteArrayInputStream; import java.security.ProviderException; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; +import java.util.Arrays; import java.util.Base64; -import java.util.Optional; +import java.util.List; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -54,20 +54,17 @@ public class KeyVaultKeyStoreTest { private String certificateName; - public static void putEnvironmentPropertyToSystemProperty(String key) { - Optional.of(key) - .map(System::getenv) - .filter(StringUtils::hasText) - .ifPresent(value -> { - if (key.equals("AZURE_KEYVAULT_URI")) { - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - } else { - int index = key.lastIndexOf("_"); - StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); - System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); - } - }); + public static void putEnvironmentPropertyToSystemProperty(List key) { + key.forEach( + environmentPropertyKey -> { + String value = System.getenv(environmentPropertyKey); + if (value != null) { + String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", + "azure.keyvault.").replaceAll("_", "-"); + System.getProperties().put(systemPropertyKey, value); + } + } + ); } @BeforeEach @@ -78,11 +75,13 @@ public void setEnvironmentProperty() { System.getenv("AZURE_KEYVAULT_CLIENT_ID"), System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); + putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "azure.keyvault.aad-authentication-url", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); keystore = new KeyVaultKeyStore(); keystore.engineLoad(parameter); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index ec52665fa142d..3f9bef36c8ff7 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -16,7 +16,6 @@ import org.apache.http.ssl.SSLContexts; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import org.springframework.util.StringUtils; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; @@ -28,7 +27,8 @@ import java.security.KeyStore; import java.security.Security; import java.security.cert.X509Certificate; -import java.util.Optional; +import java.util.Arrays; +import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -38,20 +38,17 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") public class ServerSocketTest { - public static void putEnvironmentPropertyToSystemProperty(String key) { - Optional.of(key) - .map(System::getenv) - .filter(StringUtils::hasText) - .ifPresent(value -> { - if (key.equals("AZURE_KEYVAULT_URI")) { - System.getProperties().put( - key.toLowerCase().replaceAll("_", "."), value); - } else { - int index = key.lastIndexOf("_"); - StringBuilder sb = new StringBuilder(key.toLowerCase().replaceAll("_", ".")); - System.getProperties().put(sb.replace(index, index + 1, "-").toString(), value); - } - }); + public static void putEnvironmentPropertyToSystemProperty(List key) { + key.forEach( + environmentPropertyKey -> { + String value = System.getenv(environmentPropertyKey); + if (value != null) { + String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", + "azure.keyvault.").replaceAll("_", "-"); + System.getProperties().put(systemPropertyKey, value); + } + } + ); } /** @@ -76,11 +73,13 @@ public void testServerSocket() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); + putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "azure.keyvault.aad-authentication-url", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), @@ -183,11 +182,13 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_URI"); - putEnvironmentPropertyToSystemProperty("azure.keyvault.aad-authentication-url"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_TENANT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_ID"); - putEnvironmentPropertyToSystemProperty("AZURE_KEYVAULT_CLIENT_SECRET"); + putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "azure.keyvault.aad-authentication-url", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); KeyStore ks = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( System.getenv("AZURE_KEYVAULT_URI"), From 3c40ed827d039da7b997f88a8debff807634fa49 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Mon, 10 May 2021 10:45:18 +0800 Subject: [PATCH 36/38] Resolve conversation. --- .../security/keyvault/jca/AuthClientTest.java | 2 +- .../keyvault/jca/KeyVaultClientTest.java | 7 +++--- .../keyvault/jca/KeyVaultJcaProviderTest.java | 20 ++-------------- .../keyvault/jca/KeyVaultKeyManagerTest.java | 19 ++------------- .../keyvault/jca/KeyVaultKeyStoreTest.java | 23 ++++--------------- .../jca/KeyVaultLoadStoreParameterTest.java | 2 +- .../keyvault/jca/PropertyConvertorUtils.java | 17 ++++++++++++++ .../keyvault/jca/ServerSocketTest.java | 21 +++-------------- 8 files changed, 34 insertions(+), 77 deletions(-) create mode 100644 sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java index d2efcf12e0b9b..88a76a445e5d5 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/AuthClientTest.java @@ -13,7 +13,7 @@ /** * The JUnit test for the AuthClient. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class AuthClientTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index b01290338a2c2..b98ba1770c439 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -7,9 +7,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultClientTest { private KeyVaultClient keyVaultClient; private String certificateName; @@ -26,12 +27,12 @@ public void setEnvironmentProperty() { @Test public void testGetAliases() { - assertNotNull(keyVaultClient.getAliases()); + assertEquals(keyVaultClient.getAliases().get(0),"myalias"); } @Test public void testGetCertificate() { - assertNotNull(keyVaultClient.getCertificate(certificateName)); + assertEquals(keyVaultClient.getCertificate(certificateName).toString(),"myalias"); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index a66f2a1028223..78f85fad1a578 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -10,36 +10,20 @@ import java.security.KeyStore; import java.security.Security; import java.util.Arrays; -import java.util.List; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * The JUnit tests for the KeyVaultProvider class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultJcaProviderTest { - public static void putEnvironmentPropertyToSystemProperty(List key) { - key.forEach( - environmentPropertyKey -> { - String value = System.getenv(environmentPropertyKey); - if (value != null) { - String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", - "azure.keyvault.").replaceAll("_", "-"); - System.getProperties().put(systemPropertyKey, value); - } - } - ); - } - - @BeforeEach public void setEnvironmentProperty() { - putEnvironmentPropertyToSystemProperty( + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", - "azure.keyvault.aad-authentication-url", "AZURE_KEYVAULT_CLIENT_ID", "AZURE_KEYVAULT_CLIENT_SECRET") ); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index b4b494a1881be..e875eda9e6839 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -14,38 +14,23 @@ import java.security.Security; import java.security.cert.CertificateException; import java.util.Arrays; -import java.util.List; import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertNotNull; -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultKeyManagerTest { private static final Logger LOGGER = Logger.getLogger(KeyVaultKeyManagerTest.class.getName()); private KeyVaultKeyManager manager; private String certificateName; - public static void putEnvironmentPropertyToSystemProperty(List key) { - key.forEach( - environmentPropertyKey -> { - String value = System.getenv(environmentPropertyKey); - if (value != null) { - String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", - "azure.keyvault.").replaceAll("_", "-"); - System.getProperties().put(systemPropertyKey, value); - } - } - ); - } - @BeforeEach public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { - putEnvironmentPropertyToSystemProperty( + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", - "azure.keyvault.aad-authentication-url", "AZURE_KEYVAULT_CLIENT_ID", "AZURE_KEYVAULT_CLIENT_SECRET") ); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index d36277037f215..2e79913240768 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -14,7 +14,6 @@ import java.security.cert.X509Certificate; import java.util.Arrays; import java.util.Base64; -import java.util.List; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -22,7 +21,7 @@ /** * The JUnit tests for the KeyVaultKeyStore class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultKeyStoreTest { @@ -54,19 +53,6 @@ public class KeyVaultKeyStoreTest { private String certificateName; - public static void putEnvironmentPropertyToSystemProperty(List key) { - key.forEach( - environmentPropertyKey -> { - String value = System.getenv(environmentPropertyKey); - if (value != null) { - String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", - "azure.keyvault.").replaceAll("_", "-"); - System.getProperties().put(systemPropertyKey, value); - } - } - ); - } - @BeforeEach public void setEnvironmentProperty() { KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( @@ -75,10 +61,9 @@ public void setEnvironmentProperty() { System.getenv("AZURE_KEYVAULT_CLIENT_ID"), System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); - putEnvironmentPropertyToSystemProperty( + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", - "azure.keyvault.aad-authentication-url", "AZURE_KEYVAULT_CLIENT_ID", "AZURE_KEYVAULT_CLIENT_SECRET") ); @@ -119,8 +104,8 @@ public void testEngineSetCertificateEntry() { try { byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - certificate = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certificateBytes)); + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + certificate = (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(certificateBytes)); } catch (CertificateException e) { throw new ProviderException(e); } diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java index 509b6d1a0ce85..eed52ea0dd376 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultLoadStoreParameterTest.java @@ -11,7 +11,7 @@ /** * The JUnit tests for the KeyVaultLoadStoreParameter class. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultLoadStoreParameterTest { /** diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java new file mode 100644 index 0000000000000..fd09c1a3bbe45 --- /dev/null +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java @@ -0,0 +1,17 @@ +package com.azure.security.keyvault.jca; + +import java.util.List; + +public class PropertyConvertorUtils { + + public static void putEnvironmentPropertyToSystemProperty(List key) { + key.forEach( + environmentPropertyKey -> { + String value = System.getenv(environmentPropertyKey); + String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", + "azure.keyvault.").replaceAll("_", "-"); + System.getProperties().put(systemPropertyKey, value); + } + ); + } +} diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java index 3f9bef36c8ff7..86ce286199f0b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/ServerSocketTest.java @@ -28,28 +28,15 @@ import java.security.Security; import java.security.cert.X509Certificate; import java.util.Arrays; -import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; /** * The unit test validating the ServerSocket is created using a certificate from Azure Key Vault. */ -@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = ".*") +@EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class ServerSocketTest { - public static void putEnvironmentPropertyToSystemProperty(List key) { - key.forEach( - environmentPropertyKey -> { - String value = System.getenv(environmentPropertyKey); - if (value != null) { - String systemPropertyKey = environmentPropertyKey.toLowerCase().replaceFirst("azure_keyvault_", - "azure.keyvault.").replaceAll("_", "-"); - System.getProperties().put(systemPropertyKey, value); - } - } - ); - } /** * Test SSLServerSocket without client trust. @@ -73,10 +60,9 @@ public void testServerSocket() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty( + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", - "azure.keyvault.aad-authentication-url", "AZURE_KEYVAULT_CLIENT_ID", "AZURE_KEYVAULT_CLIENT_SECRET") ); @@ -182,10 +168,9 @@ public void testServerSocketWithSelfSignedClientTrust() throws Exception { * - Set the SSL context to use the KeyManagerFactory. * - Create the SSLServerSocket using th SSL context. */ - putEnvironmentPropertyToSystemProperty( + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", - "azure.keyvault.aad-authentication-url", "AZURE_KEYVAULT_CLIENT_ID", "AZURE_KEYVAULT_CLIENT_SECRET") ); From 62698988a8eb5d8faf37d8c274726d9d0ef0c4db Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 12 May 2021 10:50:41 +0800 Subject: [PATCH 37/38] Replace @BeforeEach with @BeforeAll of junit5 annotation. --- .../keyvault/jca/KeyVaultClientTest.java | 15 ++++--- .../keyvault/jca/KeyVaultJcaProviderTest.java | 16 +++----- .../keyvault/jca/KeyVaultKeyManagerTest.java | 12 +++--- .../keyvault/jca/KeyVaultKeyStoreTest.java | 40 ++++++++++--------- .../keyvault/jca/PropertyConvertorUtils.java | 3 ++ sdk/keyvault/test-resources.json | 35 +++++----------- 6 files changed, 54 insertions(+), 67 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java index b98ba1770c439..39649a3059759 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultClientTest.java @@ -3,20 +3,19 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultClientTest { - private KeyVaultClient keyVaultClient; - private String certificateName; + private static KeyVaultClient keyVaultClient; + private static String certificateName; - @BeforeEach - public void setEnvironmentProperty() { + @BeforeAll + public static void setEnvironmentProperty() { keyVaultClient = new KeyVaultClient( System.getenv("AZURE_KEYVAULT_URI"), System.getenv("AZURE_KEYVAULT_TENANT_ID"), @@ -27,12 +26,12 @@ public void setEnvironmentProperty() { @Test public void testGetAliases() { - assertEquals(keyVaultClient.getAliases().get(0),"myalias"); + assertNotNull(keyVaultClient.getAliases()); } @Test public void testGetCertificate() { - assertEquals(keyVaultClient.getCertificate(certificateName).toString(),"myalias"); + assertNotNull(keyVaultClient.getCertificate(certificateName)); } @Test diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java index 78f85fad1a578..17ca799bd4cf4 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultJcaProviderTest.java @@ -3,7 +3,6 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; @@ -19,15 +18,6 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultJcaProviderTest { - @BeforeEach - public void setEnvironmentProperty() { - PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( - Arrays.asList("AZURE_KEYVAULT_URI", - "AZURE_KEYVAULT_TENANT_ID", - "AZURE_KEYVAULT_CLIENT_ID", - "AZURE_KEYVAULT_CLIENT_SECRET") - ); - } /** * Test getting a certificate using the Provider. @@ -36,6 +26,12 @@ public void setEnvironmentProperty() { */ @Test public void testGetCertificate() throws Exception { + PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( + Arrays.asList("AZURE_KEYVAULT_URI", + "AZURE_KEYVAULT_TENANT_ID", + "AZURE_KEYVAULT_CLIENT_ID", + "AZURE_KEYVAULT_CLIENT_SECRET") + ); Security.addProvider(new KeyVaultJcaProvider()); KeyStore keystore = KeyStore.getInstance("AzureKeyVault"); KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java index e875eda9e6839..a79e165348621 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyManagerTest.java @@ -3,7 +3,7 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; @@ -14,19 +14,17 @@ import java.security.Security; import java.security.cert.CertificateException; import java.util.Arrays; -import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertNotNull; @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultKeyManagerTest { - private static final Logger LOGGER = Logger.getLogger(KeyVaultKeyManagerTest.class.getName()); - private KeyVaultKeyManager manager; - private String certificateName; + private static KeyVaultKeyManager manager; + private static String certificateName; - @BeforeEach - public void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, + @BeforeAll + public static void setEnvironmentProperty() throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException { PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 2e79913240768..4e2f4c9885a98 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -3,7 +3,7 @@ package com.azure.security.keyvault.jca; -import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; @@ -49,18 +49,12 @@ public class KeyVaultKeyStoreTest { + "U/aIAdQRfDaSE9jhtcVu5d5kCgBs7nz5AzeCisDPo5zIt4Mxej3iVaAJ79oEbHOE" + "p192KLXLV/pscA4Wgb+PJ8AAEa5B6xq8p9JO+Q=="; - private KeyVaultKeyStore keystore; + private static KeyVaultKeyStore keystore; - private String certificateName; + private static String certificateName; - @BeforeEach - public void setEnvironmentProperty() { - KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( - System.getenv("AZURE_KEYVAULT_URI"), - System.getenv("AZURE_KEYVAULT_TENANT_ID"), - System.getenv("AZURE_KEYVAULT_CLIENT_ID"), - System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); - certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); + @BeforeAll + public static void setEnvironmentProperty() { PropertyConvertorUtils.putEnvironmentPropertyToSystemProperty( Arrays.asList("AZURE_KEYVAULT_URI", "AZURE_KEYVAULT_TENANT_ID", @@ -68,6 +62,12 @@ public void setEnvironmentProperty() { "AZURE_KEYVAULT_CLIENT_SECRET") ); keystore = new KeyVaultKeyStore(); + KeyVaultLoadStoreParameter parameter = new KeyVaultLoadStoreParameter( + System.getenv("AZURE_KEYVAULT_URI"), + System.getenv("AZURE_KEYVAULT_TENANT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_ID"), + System.getenv("AZURE_KEYVAULT_CLIENT_SECRET")); + certificateName = System.getenv("AZURE_KEYVAULT_CERTIFICATE_NAME"); keystore.engineLoad(parameter); } @@ -96,6 +96,15 @@ public void testEngineGetCertificateChain() { assertNotNull(keystore.engineGetCertificateChain(certificateName)); } + @Test + public void testEngineContainsAlias() { + assertTrue(keystore.engineContainsAlias(certificateName)); + } + + @Test + public void testEngineIsKeyEntry() { + assertTrue(keystore.engineIsKeyEntry(certificateName)); + } @Test public void testEngineSetCertificateEntry() { @@ -105,7 +114,8 @@ public void testEngineSetCertificateEntry() { try { byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); - certificate = (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(certificateBytes)); + certificate = + (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(certificateBytes)); } catch (CertificateException e) { throw new ProviderException(e); } @@ -126,12 +136,6 @@ public void testEngineSetKeyEntry() { keystore.engineSetKeyEntry(certificateName, null, null); } - @Test - public void testEngineSetKeyEntry2() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - keystore.engineSetKeyEntry(certificateName, null, null, null); - } - @Test public void testEngineAliases() { assertTrue(keystore.engineAliases().hasMoreElements()); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java index fd09c1a3bbe45..d9da4bea8829a 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/PropertyConvertorUtils.java @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + package com.azure.security.keyvault.jca; import java.util.List; diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 730ed1f58be9a..a7f73d4f2cf5e 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -257,43 +257,30 @@ $ErrorActionPreference = 'Stop' $DeploymentScriptOutputs = @{} - $existingCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName - - if ($existingCert -and $existingCert.Certificate.Subject -eq $subjectName) { - - Write-Host 'Certificate $certificateName in vault $vaultName is already present.' - - $DeploymentScriptOutputs['certThumbprint'] = $existingCert.Thumbprint - $existingCert | Out-String - } - else { - $policy = New-AzKeyVaultCertificatePolicy -SubjectName $subjectName -IssuerName Self -ValidityInMonths 12 -Verbose + $policy = New-AzKeyVaultCertificatePolicy -SubjectName $subjectName -IssuerName Self -ValidityInMonths 12 -Verbose Add-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName -CertificatePolicy $policy -Verbose - $newCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName + $newCert = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName - $tries = 0 - do { + $tries = 0 + do { Write-Host 'Waiting for certificate creation completion...' Start-Sleep -Seconds 10 $operation = Get-AzKeyVaultCertificateOperation -VaultName $vaultName -Name $certificateName $tries++ - if ($operation.Status -eq 'failed') - { - throw 'Creating certificate $certificateName in vault $vaultName failed with error $($operation.ErrorMessage)' - } + if ($operation.Status -eq 'failed') { + throw 'Creating certificate $certificateName in vault $vaultName failed with error $($operation.ErrorMessage)' + } - if ($tries -gt 120) - { - throw 'Timed out waiting for creation of certificate $certificateName in vault $vaultName' - } - } while ($operation.Status -ne 'completed') + if ($tries -gt 120) { + throw 'Timed out waiting for creation of certificate $certificateName in vault $vaultName' + } + } while ($operation.Status -ne 'completed') $DeploymentScriptOutputs['certThumbprint'] = $newCert.Thumbprint $newCert | Out-String - } ", "cleanupPreference": "OnSuccess", "retentionInterval": "P1D" From d0dceb880c108482f1e23556c4930679bb8c5787 Mon Sep 17 00:00:00 2001 From: v-gaoh Date: Wed, 12 May 2021 17:07:12 +0800 Subject: [PATCH 38/38] fix pipeline error. --- .../security/keyvault/jca/KeyVaultKeyStoreTest.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index 4e2f4c9885a98..47b910102e62b 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-test-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -96,16 +96,6 @@ public void testEngineGetCertificateChain() { assertNotNull(keystore.engineGetCertificateChain(certificateName)); } - @Test - public void testEngineContainsAlias() { - assertTrue(keystore.engineContainsAlias(certificateName)); - } - - @Test - public void testEngineIsKeyEntry() { - assertTrue(keystore.engineIsKeyEntry(certificateName)); - } - @Test public void testEngineSetCertificateEntry() {