如何设置Javamail以使用客户端证书?

时间:2015-11-20 07:15:00

标签: java ssl smtp certificate javamail

有一个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

0 个答案:

没有答案