openssl java 双认证 ssh

  1. 我使用openssl创建了一个测试双认证服务。当然是自己创建CA认证服务。
  2. 生成客户端认证所需要的文件命令如下: ->openssl genrsa -out test_key.pem 1024 ->openssl req -new -key test_key.pem -out test_req.pem -days 3650 ->openssl x509 -req -in test_req.pem -out test_cert.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial ->openssl pkcs12 -export -clcerts -in test_cert.pem -inkey test_key.pem -out test.p12
  3. 在浏览器导入生成的p12文件成功。
  4. 通过浏览器访问也出现了让选择证书。由于是自己发布的认证服务所以又出现了一个警告页面,大致内容如下:
    *-------------------------------------------------------
    此网站的安全证书有问题。
    此网站出具的安全证书不是由受信任的证书颁发机构颁发的。
    安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。

    建议关闭此网页,并且不要继续浏览该网站。
    单击此处关闭该网页。

    继续浏览此网站(不推荐)。

    通过又让选择证书,最后正确进入页面。

  5. 现在我想使用java代码通过生成的test.p12访问这个网站,应该如何操作。

求高手指点!

你的证书是自己签发的,浏览器不信任。你有两个方法
1. 自己手动的方式把你的证书添加到浏览器信任证书列表
2. 找第三方CA机构签发证书