Как запретить экспорт закрытого ключа для импортированного сертификата - PullRequest
0 голосов
/ 18 декабря 2018

Краткий вопрос: как сделать импортированный сертификат (pfx) неэкспортируемый ?

У нас есть файл сертификата (pfx), который мы хотели бы импортировать в Azure KeyVault.Однако мы не можем сделать этот сертификат неэкспортируемым .В параметрах политики выдачи / расширенной политики есть параметр, в котором вы можете установить для «Экспортируемого закрытого ключа» значение «Нет», но, похоже, он не применяется для импортированных сертификатов.

Код, который мы используем:

        var keyVaultClient = CreateKeyVaultClient();
        var name = "non-exportable-cert";

        var secret = await keyVaultClient.GetSecretAsync("azure-key-vault-url", name);

        var cert = new X509Certificate2(Convert.FromBase64String(secret.Value));

         // cert.HasPrivateKey = always True.

При использовании хранилища сертификатов Windows мы должны явно пометить сертификат как экспортируемый.У нас вообще нет этой опции в хранилище ключей Azure.

Когда мы генерируем сертификат в хранилище ключей, эта опция работает, в результате чего cert.HasPrivateKey имеет значение False.

Этот сценарий не поддерживается или мы что-то упустили?Заранее спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018

Когда вы импортируете сертификат в хранилище ключей Azure, вы можете установить для exportable значение false в KeyProperties, что означает, что закрытый ключ не может быть экспортирован.

Для получения дополнительной информации вы можете обратиться к этому товар .

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