如何使openssl自签名证书与GRPC Swift一起使用?

时间:2019-07-31 14:01:27

标签: ios swift openssl grpc

我正在尝试从已发行OpenSSL自签名证书的gRPC Java服务器获取数据。我正在尝试将其用于双向TLS,但是握手提示

时出现错误
E0731 15:41:27.621060000 6188068864 ssl_transport_security.cc:1239]    Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

我的使用方式如下:

if let filepath = Bundle.main.path(forResource: "st", ofType: "crt") {
            do {
                let contents = try String(contentsOfFile: filepath)
                let arguments: [Channel.Argument] = [.sslTargetNameOverride("staging.mydomain.com")]
                self.client = Com_Domain_Data_EnergyUsageServiceServiceClient(address: "staging.mydomain.com:6001", certificates: contents,arguments: arguments)
            } catch {

            }
} else {

}

我如何使其起作用?但是,这不是纯粹的相互TLS。我们将使用服务器公共证书运送我们的应用程序。但是问题可能是BoringSSL不信任CA。如何使SwiftGRPC忽略证书验证?

0 个答案:

没有答案