Java 中如何实现动态生成证书,像 Go 那样。

比如 Go

func main() {

    ln, _ := tls.Listen("tcp", ":433", &tls.Config{
        GetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {
            // 使用 info.ServerName 从 DB 或者临时生成
            cert := generateX509Certificate(info.ServerName)
            return cert, nil
        },
    })

    http.ServeTLS(ln, nil, "", "")

}

Java 有类似的机制吗。哪怕是并发请求,也可以控制只有一个请求触发生成证书,其他请求 hold 住,等证书一旦生成成功,所有请求立刻进行接下来的握手(超时的不算)

Java 中不同的框架处理方式一样吗?

比如 javax.net.ssl.SSLContext 和使用 netty 的 spring 全家桶都适用的方法?

讨论数量: 2

这是动态的吗?

1个月前 评论
cevin (楼主) 4周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!