首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将EC密钥导入密钥库

将EC密钥导入密钥库
EN

Stack Overflow用户
提问于 2022-06-17 18:00:08
回答 2查看 254关注 0票数 0

Azure门户网站只允许将RSA密钥导入密钥库。您可以生成EC密钥,但不能导入密钥。是否有一种以编程方式导入EC密钥的方法?

编辑

我的解决方案:

代码语言:javascript
运行
复制
$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'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-17 19:14:03

这个REST端点应该能够根据这一行进行如下操作:

导入密钥操作可用于将任何密钥类型导入Azure密钥库。

我认为最简单的方法是使用任何官方SDK (Java、.Net、Python等)。但是,如果您愿意将正确的HTTP请求放在一起,这也应该是可行的。

票数 1
EN

Stack Overflow用户

发布于 2022-06-19 05:54:50

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72663191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档