通过官方文档写的代码:
onLaunch: function () {
console.log('App Launch')
uni.configMTLS({
certificates: [{
'host': 'test.c.com:8080',
'client': '/static/key/client_cert.p12',
'clientPassword': '',
'server': ['/static/key/server.cer'],
}],
success ({code}) {
console.log('MTLS配置成功', code);
},
fail ({code, message}) {
console.log('MTLS配置失败', code, message);
}
});
},
显示“MTLS配置成功 code 0”,但是无法访问配置之前能访问的接口,真机运行调试时,Android studio 报错TLS错误握手失败,请问这是什么原因?
是证书的问题吗?请问client证书和server的证书正确的生成方式是什么?
在浏览器端的证书管理中添加client_cert.p12证书,是可以访问该端口的,是移动端和H5有什么区别吗?
还是需要在Uniapp本身架构中添加其他的代码来配合这个uni.configMTLS方法使用才有效?
DAREWIN (作者)
2025-06-26 14:21:45.800 4119-13161 console io.dcloud.HBuilder I [LOG]MTLS配置成功---COMMA------BEGIN:NUMBER---0---END:NUMBER--- at App.vue:14
2025-06-26 14:21:45.888 4119-13581 System.err io.dcloud.HBuilder W error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/tls_record.cc:594 0x73270d7db8:0x00000001)
2025-06-26 14:21:45.888 4119-13581 System.err io.dcloud.HBuilder W at dc.squareup.okhttp3.internal.connection.RealConnection.connectTls(SourceFile:22)
2025-06-26 14:21:45.888 4119-13581 System.err io.dcloud.HBuilder W error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/tls_record.cc:594 0x73270d7db8:0x00000001)
2025-06-26 14:21:46.335 4119-13582 System.err io.dcloud.HBuilder W error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/tls_record.cc:594 0x73270bf518:0x00000001)
2025-06-26 14:21:46.335 4119-13582 System.err io.dcloud.HBuilder W at dc.squareup.okhttp3.internal.connection.RealConnection.connectTls(SourceFile:22)
2025-06-26 14:21:46.336 4119-13582 System.err io.dcloud.HBuilder W error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/tls_record.cc:594 0x73270bf518:0x00000001)
2025-06-26 14:22
DAREWIN (作者)
无法访问就是一直转圈,没有具体信息了。
2025-06-26 14:23