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



我创建了一个根证书,一个中间证书。然后我签署了我的延期证书,但没有。

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

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

使用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文件中使用了以下内容,但它没有。

你能帮帮我吗?

首先,您必须遵守CA Browser EV指南:

  • 您的证书需要符合DV(域验证)规则,我们在这里知道这是可以的,因为您的浏览器显示";"安全";,即使EV绿条未显示
  • 您需要添加以下EV扩展:2.23.140.1.1
  • 您需要添加证书实践声明,扩展名为2.16.840.1.1114412.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和jurisdictionC的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中Subject的DN中添加的附加属性。因此,您必须更改openssl配置文件,以便在已签名的证书中保留这些属性。为此,请在openssl配置文件的CA部分中找到策略字段,例如policy_match,然后转到相应的部分(本例中为[policy_match]),并在该部分中添加以下条目(不要删除该部分中已有的内容):

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

这将使";openssl ca";如果在CSR中找到这些属性,则输出这些属性。

现在,请注意,遵守CA Browser EV指南是不够的。许多浏览器添加了其他需求。例如,CA浏览器EV指南验证使用CRL而不是OCSP的EV证书(CA浏览器说:如果证书没有在权威机构Information Access扩展中指定OCSP响应程序位置,则cRLDistribution Point扩展必须存在于订阅服务器证书中。)。但相反,Firefox添加了许多其他规则,包括OCSP响应器的可用性。

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

这些规则,来自https://wiki.mozilla.org/CA:EV_Revocation_Checking,分别为:

除了特定于EV的测试外,服务器证书还必须通过所有测试DV证书所需的测试。证书验证Firefox 3中使用的引擎(NSS加密库)必须能够查找从服务器扩展的有效证书链附带的EV批准的根证书之一的证书Firefox。服务器证书必须仅包含一个EV策略扩展(OID)。服务器证书可能包含一个或多个策略扩展,但不能包含多个EV策略扩展。中间证书必须隐式或显式允许EV服务器证书中列出的策略OID。Firefox 3将测试使用OCSP协议获取吊销状态的服务器证书。这个服务器证书必须包含授权信息访问(AIA)使用HTTP协议携带OCSP URI的扩展。Firefox必须能够使用完成OCSP请求和响应事务给定OCSP服务器。OCSP服务器连接失败时,Firefox将服务器证书视为对EV无效。对于首先在Firefox会话中检查每个服务器证书。Firefox使用易失性缓存来减少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日),该网站运行非常缓慢。希望它很快就会起来。

最新更新