Skip to main content

使用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);
}
}