openssl 验证不使用 GeoTrust 证书
openssl verify not working with GeoTrust Certificate
我有一个新购买的 GeoTrust 域证书和一个匹配的 CA 文件,想用 openssl 进行验证。
openssl verify -verbose -purpose any
-CAfile /full/path/sub.domain.com-geotrust.crt /full/path/sub.domain.com.crt
从这个页面:https://secure.marumoto.us/motowiki/tiki-index.php?page=Verify+a+Certificate+Chain
链中每个证书的颁发者应与链中下一个证书的主题相匹配。例如 myserver.mydomain.com.cert 的发行人应该匹配 myintermediate_ca.cert 的主题,而 myintermediate_ca.cert 的发行人应该匹配 myroot_ca.cert 的主题。您可以使用以下命令查看 .pem 或 base64 格式的证书。
来自
openssl x509 -text -in sub.domain.crt and
openssl x509 -text -in sub.domain-geotrust.crt (CA root file)
sub.domain.com
Subject: OU=GT44865949,
OU=See www.geotrust.com/resources/cps (c)15,
OU=Domain Control Validated - QuickSSL(R),
CN=sub.domain.com
Issuer:
commonName = GeoTrust DV SSL CA - G4
organizationalUnitName = Domain Validated SSL
organizationName = GeoTrust Inc.
countryName = US
Intermediate:
Subject:
commonName = GeoTrust DV SSL CA - G4
organizationalUnitName = Domain Validated SSL
organizationName = GeoTrust Inc.
countryName = US
Issuer:
commonName = GeoTrust Global CA
organizationName = GeoTrust Inc.
countryName = US
Root:
Subject:
commonName = GeoTrust Global CA
organizationName = GeoTrust Inc.
countryName = US
Issuer:
organizationalUnitName = Equifax Secure Certificate Authority
organizationName = Equifax
countryName = US
看来我的 Issuer 和 Subject 字段匹配正确,但我在使用 openssl 时遇到以下错误:
0 深度错误 20 lookup:unable 获取本地颁发者证书
/full/path/sub.domain.com.crt: /OU=GT44865949/OU=See www.geotrust.com/resources/cps (c)15/OU=域控制已验证 - QuickSSL(R)/CN =sub.domain.com
0 深度错误 20 lookup:unable 获取本地颁发者证书
我想在另一个子域中使用此证书和类似的 GeoTrust 证书在 restful 网络 url 上进行双向 SSL 身份验证,但证书不会通过 'openssl verify' 与它们一起发布的 CA 文件。非常感谢任何建议。
根据讨论,这是允许 openssl 查看整个验证链的问题:包括 GeoTrust CA 中间体和根。
openssl 应该是 运行,CADir 参数包含 PEM 格式的所有 3 个 CA。 GeoTrust 的实际根可以从您最喜欢的浏览器中提取,或者在这里:filedropper.com/geotrustglobalca.
当您配置您的实际服务器时,只需确保您在服务器上发送中间体 Hello,有些网站不会这样做并破坏没有缓存中间体的客户端。
从 , you can get the GeoTrust Global CA from their root certificate store 开始。他们在那里列出了许多 primary/universal/global 证书,因此请确保为您的中级证书获取正确的证书。
根据链显示,根证书不是自签名的。它显示由 Equifax 发布。 Openssl 将继续给出错误 "local issuer certificate not found" 直到它获得自签名根证书。当它遇到根自签名时,它能够验证证书链是否完整。
我有一个新购买的 GeoTrust 域证书和一个匹配的 CA 文件,想用 openssl 进行验证。
openssl verify -verbose -purpose any
-CAfile /full/path/sub.domain.com-geotrust.crt /full/path/sub.domain.com.crt
从这个页面:https://secure.marumoto.us/motowiki/tiki-index.php?page=Verify+a+Certificate+Chain
链中每个证书的颁发者应与链中下一个证书的主题相匹配。例如 myserver.mydomain.com.cert 的发行人应该匹配 myintermediate_ca.cert 的主题,而 myintermediate_ca.cert 的发行人应该匹配 myroot_ca.cert 的主题。您可以使用以下命令查看 .pem 或 base64 格式的证书。
来自
openssl x509 -text -in sub.domain.crt and
openssl x509 -text -in sub.domain-geotrust.crt (CA root file)
sub.domain.com
Subject: OU=GT44865949,
OU=See www.geotrust.com/resources/cps (c)15,
OU=Domain Control Validated - QuickSSL(R),
CN=sub.domain.com
Issuer:
commonName = GeoTrust DV SSL CA - G4
organizationalUnitName = Domain Validated SSL
organizationName = GeoTrust Inc.
countryName = US
Intermediate:
Subject:
commonName = GeoTrust DV SSL CA - G4
organizationalUnitName = Domain Validated SSL
organizationName = GeoTrust Inc.
countryName = US
Issuer:
commonName = GeoTrust Global CA
organizationName = GeoTrust Inc.
countryName = US
Root:
Subject:
commonName = GeoTrust Global CA
organizationName = GeoTrust Inc.
countryName = US
Issuer:
organizationalUnitName = Equifax Secure Certificate Authority
organizationName = Equifax
countryName = US
看来我的 Issuer 和 Subject 字段匹配正确,但我在使用 openssl 时遇到以下错误:
0 深度错误 20 lookup:unable 获取本地颁发者证书 /full/path/sub.domain.com.crt: /OU=GT44865949/OU=See www.geotrust.com/resources/cps (c)15/OU=域控制已验证 - QuickSSL(R)/CN =sub.domain.com 0 深度错误 20 lookup:unable 获取本地颁发者证书
我想在另一个子域中使用此证书和类似的 GeoTrust 证书在 restful 网络 url 上进行双向 SSL 身份验证,但证书不会通过 'openssl verify' 与它们一起发布的 CA 文件。非常感谢任何建议。
根据讨论,这是允许 openssl 查看整个验证链的问题:包括 GeoTrust CA 中间体和根。
openssl 应该是 运行,CADir 参数包含 PEM 格式的所有 3 个 CA。 GeoTrust 的实际根可以从您最喜欢的浏览器中提取,或者在这里:filedropper.com/geotrustglobalca.
当您配置您的实际服务器时,只需确保您在服务器上发送中间体 Hello,有些网站不会这样做并破坏没有缓存中间体的客户端。
从
根据链显示,根证书不是自签名的。它显示由 Equifax 发布。 Openssl 将继续给出错误 "local issuer certificate not found" 直到它获得自签名根证书。当它遇到根自签名时,它能够验证证书链是否完整。