有一个postfix smtp服务器(不受我控制),要求客户端发送/使用他们的客户端证书以识别发件人。
如何选择发送的证书?或者我如何选择密钥库/信任库?
这是针对使用javamail在tomcat上运行的spring应用程序。
更新#1: 我可以使用类似于apache commons的AuthSSLProtocolSocketFactory进行连接,因此我可以提供自己的key- / truststore。但是现在连接在发送SSL握手后就会挂起。
使用MailSSLSocketFactory我得到:
main, WRITE: TLSv1 Handshake, length = 40
[Raw write]: length = 45
0000: 16 03 01 00 28 87 43 6A F0 96 6A 8D E3 2F 2F 19 ....(.Cj..j..//.
0010: 7D 0A 8B 9A 24 AD DD 29 64 BF 0B 0F A2 EE 1F F7 ....$..)d.......
0020: 1A 3C 7B D8 06 82 73 66 B9 E5 02 12 3B .<....sf....;
[Raw read]: length = 5
0000: 15 03 01 00 02 .....
[Raw read]: length = 2
0000: 02 2F ./
main, READ: TLSv1 Alert, length = 2
main, RECV TLSv1 ALERT: fatal, illegal_parameter
%% Invalidated: [Session-1, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLException: Received fatal alert: illegal_parameter