2

Je le morceau de code ci-dessous pour télécharger cert de Azure Key VaultPowershell "X509Certificate2Collection" Exception appelant "Importer" avec "3" argument (s):. « Vous ne trouvez pas l'objet demandé

$secretName = "TestCert" 
    $kvSecret = Get-AzureKeyVaultSecret -VaultName $vaultName -Name $certificateName 
    $kvSecretBytes = [System.Convert]::FromBase64String($kvSecret.SecretValueText) 
    $certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection 
    $certCollection.Import($kvSecretBytes,$null, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable) 

Mais Lors de l'importation cert au certCollection la méthode d'importation jette ci-dessous erreur.

Exception calling "Import" with "3" argument(s): "Cannot find the requested object. 
" 
At C:\Users\abc\Desktop\test2.ps1:8 char:1 
+ $certCollection.Import($kvSecretBytes,$null,[System.Security.Cryptogr ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : CryptographicException  

RÉJOUISSENT aider. Merci

Répondre

1

Modifier le code comme ceci et vous êtes bon pour vous!

$secretName = "TestCert" 
    $kvSecret = Get-AzureKeyVaultSecret -VaultName $vaultName -Name $certificateName 
    $kvSecretBytes = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($kvSecret.SecretValueText)) 
    $jsonCert = ConvertFrom-Json($kvSecretBytes) 
    $certBytes = [System.Convert]::FromBase64String($jsonCert.data) 
    $certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection 
    $certCollection.Import($certBytes,$jsonCert.password,[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable) 
+0

Oui, je viens de recevoir ceci d'un de mes collègues. et merci beaucoup de partager ce morceau de code ici. et oui son travail. – user1335978