Ssl 在服务器和客户端中安装.crt证书文件是否足以进行身份验证?

Ssl 在服务器和客户端中安装.crt证书文件是否足以进行身份验证?,ssl,client-certificates,x509certificate2,Ssl,Client Certificates,X509certificate2,这是我使用SSL的第一项任务,并尝试对Web API实现SSL证书身份验证。该公司提供了四个.crt文件 内部\u Root\u CA.crt(所有发行策略、所有应用程序策略) 内部_CA.crt(所有应用程序策略) SSL_CA.crt(所有应用程序策略) Dev.crt(确保远程计算机的身份,向远程计算机证明您的身份) 认证路径:Internal\u Root\u CA.crt=>Internal\u CA.crt=>SSL\u CA.crt=>Dev.crt 我看过很多教程,但都使用了.p

这是我使用SSL的第一项任务,并尝试对Web API实现SSL证书身份验证。该公司提供了四个.crt文件

  • 内部\u Root\u CA.crt(所有发行策略、所有应用程序策略)
  • 内部_CA.crt(所有应用程序策略)
  • SSL_CA.crt(所有应用程序策略)
  • Dev.crt(确保远程计算机的身份,向远程计算机证明您的身份)

    认证路径:Internal\u Root\u CA.crt=>Internal\u CA.crt=>SSL\u CA.crt=>Dev.crt

  • 我看过很多教程,但都使用了.pfx文件。我的一位同事说,由于.crt文件没有私钥和密码,我们只需要在服务器和客户端安装这些证书,不需要附加请求。我有点困惑,因为如果是这样,服务器如何区分请求与正确的客户端

    谢谢

    我的一位同事说,由于.crt文件没有私钥和密码,我们只需要在服务器和客户端安装这些证书,不需要附加请求

    他是正确的,只是证书将在正确配置的HTTPS交换中的请求之前发送

    我有点困惑,因为如果是这样,服务器如何区分请求与正确的客户端

    您所描述的内容足以进行身份验证,但不足以进行授权。很高兴知道与您交谈的人是他声称的人(身份验证),但这是否是您希望与之交谈的人,以及他是否有权访问应用程序的这一部分,是只有应用程序才能回答的问题,通过检索对等证书并根据某个身份验证/角色数据库检查身份

    我的一位同事说,由于.crt文件没有私钥和密码,我们只需要在服务器和客户端安装这些证书,不需要附加请求

    他是正确的,只是证书将在正确配置的HTTPS交换中的请求之前发送

    我有点困惑,因为如果是这样,服务器如何区分请求与正确的客户端


    您所描述的内容足以进行身份验证,但不足以进行授权。很高兴知道与您交谈的人是他声称的人(身份验证),但这是否是您希望与之交谈的人,以及他是否有权访问应用程序的这一部分,是只有应用程序才能回答的问题,通过检索对等证书并根据某些身份验证/角色数据库检查身份。

    谢谢@EJP。我认为不需要授权,因为只有一个客户端可以访问此API,并且它们具有完全访问权限。那么仅仅强制请求使用https就足够了?如果是,任何人都可以使用https发送请求并访问API?如果服务器需要客户端身份验证,并且只信任一个客户端证书,而没有其他人拥有该客户端证书,则情况并非如此。这不是正确的做事方式。对不起,我不明白你的意思。你是说启用https还不够?不,服务器必须要求客户端身份验证。正如我所说。谢谢@EJP。我认为不需要授权,因为只有一个客户端可以访问此API,并且它们具有完全访问权限。那么仅仅强制请求使用https就足够了?如果是,任何人都可以使用https发送请求并访问API?如果服务器需要客户端身份验证,并且只信任一个客户端证书,而没有其他人拥有该客户端证书,则情况并非如此。这不是正确的做事方式。对不起,我不明白你的意思。你是说启用https还不够?不,服务器必须要求客户端身份验证。正如我所说。