gpt4 book ai didi

azure - 将 EC key 导入 Key Vault

转载 作者:行者123 更新时间:2023-12-03 06:58:43 26 4
gpt4 key购买 nike

Azure Web 门户仅允许将 RSA key 导入 Key Vault。您可以生成 EC key ,但不能导入。有没有办法以编程方式导入 EC key ?

编辑

我的解决方案:

$p8Raw = Get-Content -Path .\KEY.p8 | ? {$_ -ne '-----BEGIN PRIVATE KEY-----' -and $_ -ne '-----END PRIVATE KEY-----'}
$p8Bytes = [System.Convert]::FromBase64String($p8Raw -join '')

$cng = [System.Security.Cryptography.ECDsaCng]::Create()
$len = $null
$cng.ImportPkcs8PrivateKey($p8Bytes, [ref] $len)
$params = $cng.ExportParameters($true)

$ToBase64Url = { Param($Content) [System.Convert]::ToBase64String($Content).Replace('+', '-').Replace('/', '_').Replace('=', '') }

$pubX = & $ToBase64Url -Content $params.Q.X
$pubY = & $ToBase64Url -Content $params.Q.Y
$prvD = & $ToBase64Url -Content $params.D
$jwk = @{ crv = 'P-256'; d = $prvD; kty = 'EC'; x = $pubX; y = $pubY }
$RequestPayload = @{ key = $jwk } | ConvertTo-Json

$token = Get-MsalToken -Scope 'https://vault.azure.net/user_impersonation' -ClientId $ClientId -TenantId $TenantId -Interactive

Invoke-WebRequest -Uri "${VaultUri}keys/${KeyName}?api-version=7.3" -Authentication Bearer -Token ($token.AccessToken | ConvertTo-SecureString -AsPlainText -Force) -Method Put -Body $RequestPayload -ContentType 'application/json'

最佳答案

This REST endpoint应该能够根据这一行做到这一点:

The import key operation may be used to import any key type into an Azure Key Vault.

我认为最简单的方法是使用 official SDKs 中的任何一个(Java、.Net、Python 等)但如果您愿意组合正确的 HTTP 请求,那也应该可行。

关于azure - 将 EC key 导入 Key Vault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72663191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com