Articles of x509

OCSP的信任证书,但不是客户端证书?

根据nginx文档 ,您可以为OCSP响应和客户端证书validation指定要被信任的证书: ssl_trusted_certificate / ssl_client_certificate 如果启用了ssl_stapling,则指定一个包含PEM格式可信CA证书的文件,用于validation客户端证书和OCSP响应。 有没有办法只信任OCSP签名的证书,而不是客户端证书?

MongoDB rs.initiate错误:replSetInitiate仲裁检查失败,因为并非所有build议的成员都肯定地回应

我必须使用X.509证书启动自己的内部身份validation副本集,但是我失败了。 任何build议是受欢迎的。 在Debian 8.2 x64上的MongoDB 3.2 x64。 这是MongoDB大学课程“M310:MongoDB安全性”的一个问题。 我错过了最后期限。 导师: 你可以打开你的服务器成员身份validation选项,然后rs.initiate,然后创build您的用户。 我有这个文件夹结构: ~ `– shared `– certs |– ca.pem |– client.pem `– server.pem 我创build了这个设置我的副本集的bash脚本: #!/bin/bash course="M310" exercise="HW-1.3" workingDir="$HOME/${course}-${exercise}" dbDir="$workingDir/db" logName="mongodb.log" ports=(31130 31131 31132) replSetName="rs1" host=`hostname -f` initiateStr="rs.initiate({ _id: '$replSetName', version: 1, members: [ { _id: 0, host: '$host:${ports[0]}' }, { _id: 1, host: '$host:${ports[1]}' }, […]

阻止ADCS中的主题替代名称

我正在pipe理Windows 2008 ADCS CA,并意识到使用SAN颁发证书时存在安全风险。 所以我testing了在请求中发布一个带有SAN的PKCS10文件,并且在它应该被阻塞的时候它与SAN一起发布了证书。 可以肯定的是,我使用命令certutil -setreg policy \ EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2(注意减号)删除SAN标志,如果它存在,而不是。 图片 然而,这样做,阻止添加额外的请求属性使用类似这样的SAN: san:dns=webmail.domainc.com&dns=mail.domainc.com&dns=autodiscover.domainc.com 那么是否有办法完全阻止已颁发证书的SAN,而不pipe它们在哪里指定?

是否有可能从现有的x509证书生成opensslconfiguration文件?

我正在寻找一种方法来从X509证书(或csr)恢复opensslconfiguration。 我知道有可能查看证书并手动重新构buildconfiguration文件,但这是不可靠的,需要太多人工:P。 有什么build议么?

DER编码的散列

根据stunnel4的手册 该目录中的证书应该命名为XXXXXXXX.0,其中XXXXXXXX是cert的DER编码主体 (最低有效字节顺序为MD5哈希的前4个字节)的哈希值。 我怎么能生产这样的东西? 我试了,失败了:s: openssl x509 -in cert.crt -inform PEM -out cert.der -outform DER 然后 openssl dgst cert.der

OS X上的OpenDirectory可以合理configuration为使用现有CA中的中间CA证书吗?

我们正在尝试设置OpenDirectory。 它似乎想要创build自己的CA,然后创build一个中间CA,并使用自己的CA签名的证书。 我宁愿从我们现有的内部CA中生成一个中间CA证书,然后让它使用它。 这将带来一些好处(现有的CA证书已经分发到机器上,因此在将客户joinOD时,不需要点击信任新的证书)。 但是,我找不到这个证书的任何configuration,也没有提及任何其他的方式。 这是一个合理的事情要做,如果是的话,我该怎么做呢?

在ADFS中如何获得作为索赔发出的客户证书的主题?

我在ADFS 3.0中使用基于证书的身份validation,并且需要从作为声明发布的客户端证书中获取主题字段,但是它不作为ADFS的传入声明。 当我启用审计时,我可以看到它存在于调用者身份中,如以下声明types所示: http : //schemas.microsoft.com/2012/12/certificatecontext/field/subject 但是,它不会以签发的身份签发,因此不能作为在索赔规则中使用的传入索赔。 有没有人做过这个? 你可以调整来自客户端证书的传入声明吗?

限制受信任的证书的权力

我正在用自己的CA创build一个站点,并用它来签署客户端证书。 客户需要将我的CA作为可信来源添加,但出于安全原因,我不希望他们盲目信任可能用CA密钥签名的所有内容,所以我想强制限制来build立客户的信任。 所以我想限制CA的能力,只签署客户端证书,并启用https访问。 我不确定我应该在证书创build中施加什么限制。 最好的办法似乎是名称限制 ,并使用白名单来限制使用,这显然是现在尊重 。 所以我尽pipe我必须使用dns(比如说xyz.com),所以CA签名不会被google.com f.ex接受,并且也会将其放在每个客户端证书的SAN中,所以客户端证书是认为有效并且不被拒绝。 显然这不是它的工作原理。 我已经试过这个,但是我一直无法使它正常工作。 另外,我从Windows获得警告…也许是因为所有可能的名称约束types必须存在 ? 所以我的问题是: 我应该如何configurationCA证书? 我应该在CA证书中应用什么限制来限制其被滥用的能力? 如果涉及名称限制,为什么我的示例在图像中不起作用? 在客户端证书中是否还有额外的工作要做,比如增加一个额外的SAN? 编辑 理想情况下,我的CA证书中应该有一些东西强制它只签署客户端证书并执行https服务器身份validation。 我看不出如何去做这个限制,我认为这是不可能的。 对于使用名称约束,我已经允许使用xyz.com ,并且我认为只有我的CA和SAN xyz.com签名的证书才能被接受(否则我可以使用SAN创build一个证书xyz.com和google.com并可能在访问google.com时工作)。 所以我使用了由我的CA签署的客户端证书,没有SAN xyz.com ,我被接受了。 不知道名称约束是否适用于这种情况。

续订SSL客户端证书

对于内部使用的基于Web的软件,必须从任何地方都可用,我已经创build了客户端证书,这些证书安装在授权用户的浏览器中。 现在,2012年结束,全部到期,需要更新。 我已经发放了PKCS#12证书(.p12) 在这里我的问题 是否有可能延长客户端证书的生命周期? 我是否必须在所有客户端上重新安装证书,或者是否有其他方式(例如,从服务器集中到某种更新机制)? 如何在Linux上使用openssl更新/重新生成客户端证书? 因为这可能是有趣的,这里是我如何创build浏览器证书 # client private key openssl genrsa -des3 -out client.key 1024 # generate certificate signing request openssl req -new -key client.key -out client.csr # create certificate, sign with server key openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt # export into […]

请求完整性/ X509替代名称/扩展信息

假设在请求或X509证书中修改主题和扩展信息的保护是否正确? 这个签名只是embedded在ASN.1编码中的另一个元素?