如何创建自己的扩展验证证书以显示绿色条?

问题描述 投票:4回答:1

我创建了一个根,一个中间证书。然后我签了我的扩展证书,但事实并非如此。

我将根证书和中间证书添加到浏览器和计算机的密钥库中。

我看到“安全”这个词,但我想在绿色栏中看到我的名字。

使用OpenSSL生成一个扩展证书的策略是什么?

certificatePolicies=ia5org,1.2.3.4,1.5.6.7.8,@polsect
 [polsect] 
policyIdentifier = 1.3.5.8 
CPS.1="https://jitc.rahmican.com.tr";
userNotice.1=@notice 
[notice] 
explicitText="Explicit Text Here"
 organization="rahmican ltd sti" 
noticeNumbers=1,2,3,4

我在openssl conf文件中使用了以下内容但它没有。

你能帮帮我吗?

openssl certificate ssl-certificate x509certificate digital-certificate
1个回答
5
投票

首先,你必须遵守CA Browser EV Guidelines

  • 您的证书需要符合DV(域验证)规则,我们知道这是正常的,因为您的浏览器显示“安全”,即使EV绿色栏未显示
  • 您需要添加以下EV扩展:2.23.140.1.1
  • 您需要添加证书实践声明,扩展名为2.16.840.1.114412.2.1
  • 和其他一些东西,最好在DigiCert的以下文档的EV栏中描述:https://www.digicert.com/wp-content/uploads/2018/01/Certificate-Profiles.pdf

这些其他东西很容易遵守,因为它们已经是DV证书所需要的,或者您可以更新openssl配置以添加那些不需要或禁止的DV证书。

在这些附加的东西中,有些是可选的,但是关于DN的以下3个不是,所以你必须在主题的DN中添加这些信息。在创建CSR时,可以使用openssl添加它们。例如:

openssl req -config openssl-EV.cnf -new -days 365 -pubkey -key key.pem -subj "/businessCategory=Private/serialNumber=5157550/jurisdictionC=US/CN=fenyo.net/O=FenyoNet/C=FR" -nodes > csr.pem

EV证书的重要部分如下:/businessCategory=Private/serialNumber=5157550/jurisdictionC=US

必须存在DN中的3个必需属性(businessCategory,serialNumber和jurisdictionC)。但是openssl可能不知道businessCategory和辖区C的OID。所以,填写openssl配置文件的new_oids部分,如下所示:

[ new_oids ]
businessCategory = 2.5.4.15
jurisdictionC = 1.3.6.1.4.1.311.60.2.1.3

在CSR中拥有这些属性是不够的,因为您拥有自己的CA,并且CA根据CA策略过滤并删除CN的某些属性。您当然可以运行类似的东西来签署证书:

openssl ca -verbose -in csr.pem -extensions v3_ca -out newcert.pem -config openssl-EV.cnf

如果您的openssl配置文件尚未专门为EV证书设计,则此步骤肯定会过滤您在CSR中主题的DN中添加的其他属性。因此,您必须更改openssl配置文件以将这些属性保留在签名证书中。要完成此操作,请在openssl配置文件的CA部分中找到策略字段,例如policy_match,然后转到相应的部分(本例中为[policy_match]),并在此部分中添加以下条目(不要删除本节中已有的内容):

[ policy_match ]
businessCategory = optional
serialNumber = optional
jurisdictionC = optional

如果在CSR中找到它们,这将使“openssl ca”输出这些属性。

现在,请注意,符合那些CA Browser EV指南是不够的。许多浏览器增加了其他需求例如,CA浏览器EV指南验证使用CRL而不是OCSP的EV证书(CA Brower说:如果证书未在authorityInformationAccess扩展中指定OCSP响应者位置,则必须在订购者证书中存在cRLDistribution Point扩展。)。但恰恰相反,Firefox增加了许多其他规则,包括OCSP响应器的可用性。

Firefox会执行多项测试以确定服务器的证书是否为有效的EV证书。如果证书通过了这些测试,Firefox将显示新的EV UI元素。具体而言,证书必须通过以下所有测试。

来自https://wiki.mozilla.org/CA:EV_Revocation_Checking的这些规则是:

除EV特定测试外,服务器证书还必须通过DV证书所需的所有测试。 Firefox 3中使用的证书验证引擎(NSS加密库)必须能够找到从服务器证书扩展到Firefox附带的EV批准的根证书之一的有效证书链。服务器证书必须只包含一个EV策略扩展(OID)。服务器证书可能包含一个或多个策略扩展,但不得包含多个EV策略扩展。中间证书必须隐式或显式允许服务器证书中列出的EV策略OID。 Firefox 3将使用OCSP协议测试服务器证书的撤销状态。服务器证书必须包含使用HTTP协议承载OCSP URI的授权信息访问(AIA)扩展。 Firefox必须能够与给定的OCSP服务器完成OCSP请求和响应事务。当OCSP服务器连接失败时,Firefox会将服务器证书视为EV无效。这适用于Firefox会话中每个服务器证书的首次检查。 Firefox使用volatile缓存来减少执行的OCSP事务的数量。 Firefox必须能够验证收到的OCSP响应。响应必须确认服务器证书未被撤销。必须在应用程序中启用OCSP,这是Firefox使用的默认配置。该选项名为security.ocsp.enabled。此时Firefox不会按需下载CRL。 OCSP还必须适用于中间证书。 OCSP响应失败将导致未给予EV治疗。

因此,要获得绿色条,您必须像之前所述更新openssl配置,并修改您的CA组织以添加OCSP响应程序以及需要将您的服务器识别为EV站点的浏览器所期望的其他内容。

对于那些拥有CA和PKI的人来说,Mozilla创建了一个在线站点来检查所有这些EV需求:https://tls-observatory.services.mozilla.com/static/ev-checker.html

在这个网站上:

  • 您输入服务器的名称
  • 您输入您选择的EV扩展名(通常为2.23.140.1.1)
  • 您以PEM格式输入已签署EV证书的根证书

该网站将进行测试并告诉您哪些是正确的,哪些是错的。请注意,截至今天(2018年8月2日),该网站非常缓慢。跳跃它很快就会出现。

© www.soinside.com 2019 - 2024. All rights reserved.