Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SWIFT-NIO-SSL的TLS CA证书SSL固定_Swift_Ssl_Ca_Swift Nio - Fatal编程技术网

使用SWIFT-NIO-SSL的TLS CA证书SSL固定

使用SWIFT-NIO-SSL的TLS CA证书SSL固定,swift,ssl,ca,swift-nio,Swift,Ssl,Ca,Swift Nio,我一直在尝试使用CA证书和服务器证书连接到服务器 经过数不清的尝试,尝试了不同的方法,我找不到解决办法。使用ca证书和swift nio ssl连接TLS是否有任何教程或帮助将很有帮助。我不能100%确定这是否是您要问的问题,但如果您试图使用自定义ca连接到服务器,您可能需要以下TLS配置: var tlscoConfiguration=tlscoConfiguration.forClient tlsConfiguration.trustRoots=.file/tmp/the-ca.pem//c

我一直在尝试使用CA证书和服务器证书连接到服务器


经过数不清的尝试,尝试了不同的方法,我找不到解决办法。使用ca证书和swift nio ssl连接TLS是否有任何教程或帮助将很有帮助。

我不能100%确定这是否是您要问的问题,但如果您试图使用自定义ca连接到服务器,您可能需要以下TLS配置:

var tlscoConfiguration=tlscoConfiguration.forClient tlsConfiguration.trustRoots=.file/tmp/the-ca.pem//ca 如果要验证服务器提供的证书链,则应在创建放入管道中的NIOSSLClientHandler时使用。最后一个参数是一个允许完全覆盖BoringSSL的证书验证逻辑的参数,它提供了远程对等方提供的整个证书链

如果您不直接使用NIO,而是通过另一个库(如Vapor或AsyncHTTPClient)使用NIO,那么上述内容不一定有任何意义,因为您自己没有添加NIOSSLClient

此时,仅使用TLS配置不允许实现证书固定。理论上,您可以使用NIOSSLCustomVerificationCallback实现它,但实际上,这可能很困难,具体取决于您计划如何锁定


如果您能提供一些您想要实现的具体细节,我很乐意对此进行详细介绍。

谢谢。我有一个基于GRPC模块的服务器,我需要与引导信任连接,以调用swift中的微服务。我能够成功使用GRPC部件。我当前的问题场景是:CA证书、服务器证书、私钥,其中我需要使用TLS从iOS连接服务器xyz.com以建立连接。我似乎无法使用所有证书使用swift NIO SSl建立到服务器的连接。任何示例代码演示都会很有帮助。谢谢你Advance@BlackPearl12嗯,听起来你更像是想让TLS相互认证工作起来。这在今天得到了明确的支持,在这里,我帮助某人使用AsyncHTTPClient实现了同样的功能:。这就是你想要做的吗?谢谢。我做了一些研究,您的上述评论肯定帮助我找到了一个解决方案。我写了一篇关于gRPC与iOS swift的集成的文章,用于使用ca证书的ssl固定。这可能会导致其他陷入此问题的人: