我想要的是

我想要的是

我想要的是

我想使用给定的签名证书(由运行服务器的公司颁发)连接到服务器

我拥有的

  • Ubuntu 12.04 LTS
  • 我的密钥和 CSR 文件
  • 签名证书。在我向运行我想要连接的服务器的人员(不是全球受信任的 CA)发送我自己生成的 CSR 后,该证书由他们签名
  • RootCA.crtCompanyCA.crt

什么有效

我可以根据签名的证书和我的密钥创建一个 Java 密钥库。如果我在 SoapUI 中使用它,我可以成功连接到发送 SOAP 请求的服务器并获得正确的响应

什么不起作用

我无法将我的证书和密钥用于openssl s_client -connect。响应是Verify return code: 20 (unable to get local issuer certificate)

我的请求:

openssl s_client -connect service.company.com:443 -cert myCert.crt -key myKey.key

我还尝试了什么(但无济于事)

  • 使用 RootCA 或 CompanyCA-CAfile
  • 连接 RootCA 和 CompanyCA 并将其与-CAfile
  • 将 RootCA 和 CompanyCA 放在一个目录中,然后c_rehash使用-CApath
  • 安装 RootCA 和 CompanyCA/usr/lib/ssl/certs/并执行c_rehash
  • .pem从我的证书和密钥文件(来自)创建.p12并将其用作-cert
  • 当我这样做时openssl verify -CAfile RootCA.crt CompanyCA.crt结果是error 20 at 0 depth lookup:unable to get local issuer certificate
  • 当我这样做时openssl verify -CAfile RootCA.crt myCert.crt结果是error 2 at 1 depth lookup:unable to get issuer certificate
  • 当我这样做时openssl verify -CAfile RootCA.crt myCert.crt结果是error 2 at 1 depth lookup:unable to get issuer certificate

我总是得到(几乎)

CONNECTED(00000003)
depth=1 C = DE, O = Company, CN = Company CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=DE/ST=City/L=City/O=Company/CN=service.company.com
   i:/C=DE/O=Company/CN=Company CA
 1 s:/C=DE/O=Company/CN=Company CA
   i:/C=DE/O=Other Company/OU=INST/DSW/CN=Other Company Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
subject=/C=DE/ST=City/L=City/O=Company/CN=service.company.com
issuer=/C=DE/O=Company/CN=Company CA
---
Acceptable client certificate CA names
/C=DE/O=Other Company/OU=INST/DSW/CN=Other Company Root CA
/C=DE/O=Company/CN=Company CA 
---
SSL handshake has read 3926 bytes and written 2631 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported  
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA 
    Session-ID: SessionId
    Session-ID-ctx:
    Master-Key: MasterKey
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    <SNIP>
    Start Time: 1393503573
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)

相关内容