使用SSL(获取SSL证书、生成JKS、t-io使用SSL)
免责提示
现在一些大的SSL证书提供平台,提供的内容有所变更,譬如腾讯、阿里已经提供现成的jks了,所以本文后面描述的生成jks证书这一步,可以省略,直接用平台方提供的文件
申请SSL证书
阿里云可以申请,当然还有很多申请方式,本话题不在本文档范围
下载SSL证书
如果是阿里云申请的SSL证书,下载tomcat版本的,里面会有xxx.pfx和密码文件
生成jks证书
keytool -importkeystore -srckeystore .\xxx.pfx -destkeystore .\xxx.jks -srcstoretype PKCS12 -deststoretype JKS
一行代码配上SSL
serverTioConfig.useSsl("/cert/xxx.jks", "/cert/xxx.jks", "******");
- 注册useSsl()是在ServerTioConfig.java中定义的,而不是TioConfig
打完收工
是不是简单到极致?
意犹未尽,那就看一下t-io源代码吧
/**
*
* @param keyStoreFile 如果是以"classpath:"开头,则从classpath中查找,否则视为普通的文件路径
* @param trustStoreFile 如果是以"classpath:"开头,则从classpath中查找,否则视为普通的文件路径
* @param keyStorePwd
* @throws FileNotFoundException
*/
public void useSsl(String keyStoreFile, String trustStoreFile, String keyStorePwd) throws Exception {
if (StrUtil.isNotBlank(keyStoreFile) && StrUtil.isNotBlank(trustStoreFile)) {
SslConfig sslConfig = SslConfig.forServer(keyStoreFile, trustStoreFile, keyStorePwd);
this.setSslConfig(sslConfig);
}
}