.NET控制台应用程序客户端和Java RESTful服务之间的TLS客户端身份验证

时间:2016-01-19 09:56:59

标签: java c# rest ssl

背景

我有一个.NET控制台应用程序客户端,它使用启用了TLS客户端身份验证的Java RESTful服务(也称为相互身份验证)。

它应与此SSL Socket between .Net and Java with client authentication

相反

问题

  1. 我一直收到此错误:无法为SSL / TLS安全通道建立信任关系

  2. 我不知道如何在客户端和服务器上正确配置。

  3. 执行的步骤

    1. .NET控制台应用程序已包含CA,中间和服务器证书,但引发了同样的错误。

    2. 我向服务器提供了证书签名请求(CSR)。

    3. 服务器已签名并向我提供签名证书。签名证书包含在客户端和服务器之间的通信中。但是,抛出同样的错误。

    4. 任何人都可以告诉我如何获得成功的握手吗?

1 个答案:

答案 0 :(得分:1)

这已经已解决

以下是步骤:

  1. 创建证书签名请求(CSR)。
  2. 让服务器签署CSR。
  3. 获取签名证书。
  4. 在HTTP请求中包含签名证书。
  5. 确保将自签名CA证书放在本地计算机的受信任根CA存储中。
  6. 按顺序排除故障排除步骤(如果某个步骤不成功,不要跳过):

    1. 使用HTTP测试
    2. 使用HTTPS(单向身份验证)进行测试
    3. 使用HTTPS进行测试(相互身份验证)