应用软件安全编程--28SSL 连接时要进行服务器身份验证

当进行SSL 连接时,服务器身份验证处于禁用状态。在某些使用SSL 连接的库中,默认情况下不 验证服务器证书。这相当于信任所有证书。

对 SSL 连接时要进行服务器身份验证的情况,示例1给出了不规范用法(Java 语言)示例。示例2 给出了规范用法(Java 语言)示例。

示例1:

SimpleEmail email = new SimpleEmail();

email.setHostName("smtp.testemail.com");

email.setCharset("UTF-8");

email.setSmtpPort(25);

email.setAuthenticator(new DefaultAuthenticator(name, pwd));

email.setSSLOnConnect(true);

email.setFrom("test@163.com");

email.setSubject("测试主题");

email.setMsg("邮件内容)");

email.addTo("admin@163.com");

email.send();

上述代码片段没有明确地验证服务器证书。

当尝试连接到 smtp.testemail.com:25 时,此应用程序将随时接受颁发给"hackedserver.com" 的证 书。此时,当服务器被黑客攻击发生 SSL 连接中断时,应用程序可能会泄露用户敏感信息。

当进行 SSL 连接时,需要注意进行服务器验证检查。根据所使用的库,验证服务器身份并建立安 全的 SSL 连接。

示例2:

SimpleEmail email = new SimpleEmail();

email.setHostName("smtp.testemail.com");

email.setCharset("UTF-8");

email.setSmtpPort(25);

email.setAuthenticator(new DefaultAuthenticator(name,pwd));

email.setSSLCheckServerldentity(true);

email.setSSLOnConnect(true);

email.setFrom("test@163.com");

email.setSubject("测试主题");

email.setMsg("邮件内容)");

email.addTo("admin@163.com");

email.send();

上述代码示例中,明确验证服务器证书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的老人吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值