[英]Add Certificate X509 with passphrase key to Webservice request
将新的SSL证书添加到我的webService请求时遇到问题。
var client = new RestClient(tokenUrl);
string certif = String.Format("{0}/client.cer", CertifPath);
string key = String.Format("{0}/client.key", CertifPath);
if (File.Exists(certif) && File.Exists(key))
{
X509Certificate2 cert = new X509Certificate2(certif, key);
X509CertificateCollection collection1 = new X509CertificateCollection();
collection1.Add(cert);
client.ClientCertificates = collection1;
}
我得到答复:没有向nginx发送任何400必需的ssl证书!!!!。
另外:当我使用PostMan或SoapUI时,我必须添加第三个秘密密钥(密码)才能获得响应。 例如:通过邮递员添加证书
我的问题是如何在我的请求C#中添加第三个参数(秘密密钥)?
还有另一种对我的请求实施证书的方法?
您能使用那整洁的一小段代码让我们做到这一点吗:
byte[] certBuffer = Helpers.GetBytesFromPEM(publicCert, PemStringType.Certificate);
byte[] keyBuffer = Helpers.GetBytesFromPEM(privateKey, PemStringType.RsaPrivateKey);
X509Certificate2 certificate = new X509Certificate2(certBuffer, password);
RSACryptoServiceProvider prov = Crypto.DecodeRsaPrivateKey(keyBuffer);
certificate.PrivateKey = prov;
我浪费了很多时间来搜索如何在一个Rest调用中包括三个信息(Certificat.cer,certif.key和密码)。 解决方案很简单:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.