gpt4 book ai didi

powershell - 使用 cer/pem 进行身份验证的给定 curl 的 powershell 等效项是什么?

转载 作者:行者123 更新时间:2023-12-05 04:12:18 27 4
gpt4 key购买 nike

我有一个 curl 命令到需要身份验证的休息服务,如下所示:

curl -s --key private_key.pem --cert certificate.cer $url

现在这个命令可以完美地返回一个有效的 json

现在由于一些项目需求需要使用powershell。为此,我尝试如下使用 Invoke-RestMethod

Invoke-RestMethod -Uri $url -Method Get -Certificate certificate.cer

我给出如下错误:

Invoke-RestMethod : Cannot bind parameter 'Certificate'. Cannot convert value ".\certificate.cer" to type 
"System.Security.Cryptography.X509Certificates.X509Certificate". Error: "The system cannot find the file specified.

我还尝试将证书添加到 Windows 中的证书存储区。现在查询 $url 返回未经授权的响应。

请帮助我使用 pem 和 cer 文件来验证服务。没有为任何替代方法提供用户名/密码。

最佳答案

没关系,我通过使用 openssl 将证书转换为 pfx 证书来实现它

openssl pkcs12 -export -out .\certificate.pfx -inkey .\private_key.pem -in .\certificate.cer

然后我使用 Invoke-RestMethod 如下所示

$cert = Get-PfxCertificate -FilePath .\certificate.pfx
$response = Invoke-RestMethod -Uri $url -Method Get -Certificate $cert

我收到了一个有效的 JSON 响应。感谢您的帮助。

关于powershell - 使用 cer/pem 进行身份验证的给定 curl 的 powershell 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40916647/

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