Как получить сертификат, хранящийся в Azure KeyVault, с помощью Java - PullRequest
1 голос
/ 05 июня 2019

Я сохранил файл .pfx в Azure Keyvault. У меня есть значения «Идентификатор сертификата», «Идентификатор ключа», «Секретный идентификатор». Я хочу использовать файл .pfx в программе Java. Как я могу получить файл из Keyvault?

Я искал в интернете и обнаружил, что мы можем получить сертификат, используя Keyvault

KeyVaultClient keyVaultClient = new KeyVaultClient(credentials);
keyVaultClient.getCertificate(this.keyVaultUri, certificateName, '');

1) Как передать учетные данные в KeyVaultClient?

2) Нужно ли использовать учетные данные для входа в Azure в KeyVaultClient?

KeyStore keyStore = KeyStore.getInstance("JKS");

//I have to get this .pfx file from Azure Keyvault

keyStore.load(new FileInputStream(".pfx file"), 
keyPassphrase.toCharArray());

SSLContext sslContext = SSLContexts.custom()
    .loadKeyMaterial(keyStore, keyPassphrase.toCharArray())
    .build();

HttpClient httpClient = 
HttpClients.custom().setSSLContext(sslContext).build();

1 Ответ

0 голосов
/ 06 июня 2019

Полагаю, вы уже знали Microsoft Azure Key Vault SDK для Java , на этой странице github есть много примеров. Вот пример: Сертификаты хранилища ключей Java Azure в хранилище и аутентификация на основе сертификатов .

В этом примере описывается, как создать хранилище, а также поместить ключи и секреты в хранилище. Затем показано, как внедрить в виртуальную машину при развертывании файл pfx из хранилища с использованием шаблона. В этом примере также показано подписание и проверка подписи с помощью Java Security и Azure Key Vault REST, используемых для проверки подлинности подписи. Код вызывает хранилище для ключей и секретов и записывает эти значения в консоль. В этом примере также показано, как выполнить аутентификацию с использованием файла pfx.

Обновление: если у вас нет приложения в Azure, вы можете пройти проверку подлинности с принципалом обслуживания и самозаверяющим сертификатом .

Вам необходимо создать субъект-службу Azure, если вы хотите пройти проверку подлинности с помощью средства проверки подлинности сертификата, сертификат следует сохранить локально.

** Примечание: ** Для аутентификации ADAL также должны быть установлены AZURE_CLIENT_ID и AZURE_CLIENT_SECRET.

И, да, pathPfx является URL-адресом идентификатора сертификата, JavaKeyVaultAuthenticator имеет параметр, определяющий о пути, pfxPassword и clineId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...