我有一个crt和密钥文件以及一个密码短语。
我通过Postman成功使用这些来调用外部API。我怎么在c#中这样做?
我看到使用Xcl9Certificate与httpclient的例子,但Idont看到构造函数的任何选项,我可以使用2个文件并设置密码短语
.NET不会轻易为您做到这一点。
老实说,你最好的选择是使用类似OpenSSL的东西来粘贴证书并将其键入PFX。
如果您决定不这样做,答案现在将继续。
在没有证书的情况下,如何加载密钥并不缺乏问题,例如:
一旦你弄明白如何加载密钥,就会有密钥和证书,而且他们彼此不了解。有解决方案。
如果您使用的是.NET Core,或者正在使用.NET Framework 4.7.2,则可以使用
X509Certificate2 certWithKey = cert.CopyWithPrivateKey(privateKey);
如果您要将certWithKey添加到X509Store,您需要使用持久密钥,或者导出到PFX并使用X509KeyStorageFlags.PersistKeySet
将其导回
如果(全部):
RSACryptoServiceProvider
或DSACryptoServiceProvider
!string.IsNullOrEmpty(key.CspKeyContainerInfo.KeyContainerName)
)那么你可以使用X509Certificate2.PrivateKey的setter。
在我对.NET Standard - Merge a certificate and a private key into a .pfx file programmatically做出PFX的回答的底部有一些P / Invoke建议。一旦你制作了PFX,你就会回到“简单”的领域。
System.Net.Security.RemoteCertificateValidationCallback
默认值为null。
设置qazxsw poi和 返回qazxsw poi
System.Net.ServicePointManager.ServerCertificateValidationCallback