0
点赞
收藏
分享

微信扫一扫

ktor配置https证书

天行五煞 2022-02-27 阅读 56


​​​

配置步骤

  1. application.conf中配置https端口和证书相关信息
ktor {
deployment {
port = 8080
sslPort = 8443
watch = ["xxxServer"]
}
application {
modules = [com.cxyzy.xxx.ApplicationKt.module]
}
security {
ssl {
keyStore = build/temporary.jks
keyAlias = mykey
keyStorePassword = changeit
privateKeyPassword = changeit
}
}
}
  1. 生成证书
    可以手工生成证书或找CA证书厂家申请(商用时推荐采用,PS:阿里云上可以申请​免费DV SSL证书​).
    本例图省事,直接在代码中生成证书(生成证书可以用keytool等命令,也可以用我写的​kotlin工程).
  2. build.gradle的dependencies中增加:
compile "io.ktor:ktor-network-tls:$ktor_version"
  1. 启动函数中增加生成证书:
fun main(args: Array<String>) {
// generate SSL certificate
val file = File("build/temporary.jks")
if (!file.exists()) {
file.parentFile.mkdirs()
generateCertificate(file)
}
io.ktor.server.netty.EngineMain.main(args)
}
  1. 测试
    如果采用postman,则需要关闭postman的证书校验开关:
    在Preferences菜单的General页签中关闭“SSL certificate verification”
    ktor配置https证书_单元测试

附加信息

正常情况下,应该禁用http,仅启用https.但是发现ktor的单元测试时,只能通过http,所以单元测试时需要允许http.

参考资料

https://ktor.io/quickstart/guides/ssl.html

https://ktor.io/servers/self-signed-certificate.html#artifact-75

点击关注专栏,查看最新技术分享

更多技术总结好文,请关注:「程序园中猿」

​​​

ktor配置https证书_ide_02​​

ktor配置https证书_html_03​​



举报

相关推荐

0 条评论