- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
为了使用客户端证书在内部验证应用程序,我使用 makecert
应用程序创建了根证书和客户端证书。
一切正常,但是当我使用 X509Certificate2 Verify
方法时,出现以下错误:
The revocation function was unable to check revocation for the certificate
X509Certificate2 cert = actionContext.Request.GetClientCertificate();
cert.Verify();
我可以通过创建一个 X509Chain
然后将 X509ChainPolicy
设置为 RevocationMode = X509RevocationMode.NoCheck
来解决这个问题。
X509Certificate2 cert = actionContext.Request.GetClientCertificate();
if (cert == null)
{
actionContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized)
{
ReasonPhrase = "Client Certificate Required"
};
}
else
{
X509Chain chain = new X509Chain();
//Needed because the error "The revocation function was unable to check revocation for the certificate" will happen otherwise
chain.ChainPolicy = new X509ChainPolicy()
{
RevocationMode = X509RevocationMode.NoCheck,
};
try
{
var chainBuilt = chain.Build(cert);
Debug.WriteLine(string.Format("Chain building status: {0}", chainBuilt));
if (chainBuilt == false)
{
actionContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized)
{
ReasonPhrase = "Client Certificate not valid"
};
foreach (X509ChainStatus chainStatus in chain.ChainStatus)
{
Debug.WriteLine(string.Format("Chain error: {0} {1}", chainStatus.Status, chainStatus.StatusInformation));
}
}
}
catch (Exception e)
{
Debug.WriteLine(e.ToString());
}
}
但这让我感兴趣。有什么方法可以让我用 makecert
创建一个 Certificate Revocation List (CRL)
然后用 pvk2pfx
把它捆绑到一个 .pfx 中X509Certificate2 Verify
是否接受?
最佳答案
在msdn上找到了解决方法。
https://msdn.microsoft.com/en-us/library/ff648732.aspx
创建根证书后,运行以下命令:
makecert -crl -n "CN=RootCATest" -r -sv RootCATest.pvk RootCATest.crl
在服务器和客户端机器上安装 CRL 文件。使用 MMC 在受信任的根证书颁发机构存储中的客户端和服务器计算机上安装 RootCATEs.crl。
MMC -> 文件 -> 添加或删除管理单元 -> 证书 -> 我的用户帐户
受信任的根证书颁发机构 -> 证书 -> 右键单击 -> 所有任务 -> 导入 -> RootCATest.crl
我没有设法将它与 pvk2pfx
捆绑在一起,但在这样做之后我可以运行 Verify。
关于c# - 使用 makecert 创建证书吊销列表 (CRL),然后使用 pvk2pfx 将其捆绑到 .pfx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47748649/
由于某种原因,我的系统上缺少 makecert.exe。我搜索了整个硬盘,但它不在那里。特别是,它不在我认为应该在的 C:\Program Files\Microsoft SDKs\Windows\v
我正在尝试使用 makecert 创建一个由根 key 签名的证书。我没有 PVK 文件,只有 KEY 和 PEM 文件。我认为,KEY 和 PEM 文件也是私钥。对吗? 但如果我试试这个: .\ma
我使用本教程和makecert.exe工具创建了一个自签名证书和一个客户端证书: http://msdn.microsoft.com/en-us/library/ff647171.aspx 但是,当我
要创建证书,请运行以下命令: makecert -r -pe -n "CN=effectLabs Server" -b 01/01/2011 -e 01/01/2020 -sky exchange C
给定以下 powershell 函数: function CreateRootCertificate($certificateName, $path, $certificatePassword){
我正在尝试使用 MakeCert 创建证书,以便“颁发者名称”和“颁发者名称”分别显示在证书管理器的“颁发者”列和“颁发者”列中。 makecert -ss My -n "CN=Issued By N
我正在使用以下代码启用WinRM https侦听器,但是在Powershell中执行代码时,出现以下错误: .\makecert : The term '.\makecert' is not reco
echo off set SERVER_NAME=localhost echo ------------------------------------------------------------
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visi
我目前正在从事一个项目,我在其中创建了一个 CA 证书和该 CA 证书的几个子证书。这些证书将用于保护 SAMLV2 设置中的服务器间通信,因此我将为身份提供者提供一个证书,为服务提供者提供一个证书。
我正在尝试创建一个使用 SSL 和自签名证书的网站。 这是我的做法: 创建权威证书: makecert -n "CN=root signing authority" -r -sv root.pvk r
使用 Microsoft 工具 MakeCert.exe 的 -ss 选项(-ss 指定存储输出证书的主题的证书存储名称),我在一个服务器。我能够以编程方式删除我的证书,但我无法删除商店本身。根据错误
我需要启用“http*s*”的自托管 WCF 服务。鉴于需要一个证书才能启用服务“s”,我以相同的顺序使用以下两个命令创建了证书: makecert.exe -sv SignRoot.pvk -cy
我需要制作两个证书:CA sert 和服务器证书。 我使用这个命令。 makecert -r -pe -n "CN=CACert" -a sha1 -sky signature -cy authori
当我使用 MakeCert.exe 生成证书时,我想将 key 大小从 1024 更改为 2048。 这可能吗?还是我需要设置证书颁发机构 (CA)? 最佳答案 Here使用以下语法: makecer
我购买了一个真正的 SSL 证书来验证我的计算机和我在其下托管一些 WCF 服务的域。 我如何使用 MakeCert 创建由该真实证书签名的客户端证书,以在客户端计算机上使用以验证它们是否连接到正确的
我想生成一个 key 对以在我的应用程序中使用,但从 mmc 手动导出它们很痛苦。 如何使用命令行参数,或者以其他方式最终获得驻留在硬盘驱动器上的私有(private)证书,适合以后分发? 最佳答案
我购买了一个真正的 SSL 证书来验证我的计算机和我在其下托管一些 WCF 服务的域。 我如何使用 MakeCert 创建由该真实证书签名的客户端证书,以在客户端计算机上使用以验证它们是否连接到正确的
我正在尝试配置 SSL 以连接到我的 RabbitMQ 代理。我认为我的问题与 Erlang 的 SSL 实现特别相关。我能够让它与直接用 OpenSSL 创建的证书/ key 对一起工作;但是,当我
我使用 makecert 创建了一个根 ca: makecert -r -pe -n "CN=MyRootCA" -b 01/01/2015 -e 01/01/2020 -ss root -sr lo
我是一名优秀的程序员,十分优秀!