ssl_certificate_by_lua_block 中支持一个域名的多个版本证书

76 views
Skip to first unread message

along

unread,
Aug 9, 2022, 10:19:59 PM8/9/22
to openresty
如题,我们现在对一个域名有 两种版本的证书一种是rsa一种是ecc的,想在lua侧做适配,请问大家有什么好的办法嘛

Junlong li

unread,
Aug 14, 2022, 6:55:51 AM8/14/22
to openresty
这个是不是应该根据客户端支持的加密协议族来选择?

zhefeng chen

unread,
Aug 28, 2022, 10:59:23 AM8/28/22
to openresty
rsa跟ecc类型都不同,用哪种是由选择的SSL算法套件决定的,例如ECDHE-ECDSA就使用ecc证书,ECDHE-RSA就使用rsa证书。

along

unread,
Sep 30, 2022, 5:18:47 AM9/30/22
to openresty
嗯嗯对的,但是原生nginx或者openresty里面好像没找到获取客户端支持加密协议族的接口

along

unread,
Sep 30, 2022, 5:20:17 AM9/30/22
to openresty
嗯嗯,现在的主要问题是1,怎样在ssl_certificate阶段获取客户端支持的算法套件列表;2,是否加密算法有ECDSA字样就代表支持ecc证书,其他的就是用rsa证书呢

solomon

unread,
Sep 30, 2022, 12:20:56 PM9/30/22
to open...@googlegroups.com
Nginx原生就支持的(1.11起)。直接像这样配置两组证书密钥就可以了,openssl自己会根据算法套件选择使用对应的证书密钥。从1.15.9开始,文件名支持使用nginx变量,有一定的动态配置能力。

```
server {
    listen              443 ssl;
    server_name         example.com;

    ssl_certificate     example.com.rsa.crt;
    ssl_certificate_key example.com.rsa.key;

    ssl_certificate     example.com.ecdsa.crt;
    ssl_certificate_key example.com.ecdsa.key;

    ...
}
```

如果想在OpenResty的ssl_certificate阶段实现完全动态配置的话,需要添加个ffi接口,获取当前SSL连接使用的算法套件,然后根据算法套件动态选择对应的证书密钥。

along <ytl...@gmail.com> 于2022年9月30日周五 17:20写道:
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/f29256d5-8061-4b90-acdc-4fc8d9dcb01an%40googlegroups.com

solomon

unread,
Sep 30, 2022, 2:35:56 PM9/30/22
to open...@googlegroups.com
不好意思稍微更正下,ssl_certificate阶段还没确定算法套件,所以一般ecc和rsa证书都需要准备,具体使用哪个证书取决于算法套件的优先级,看第一个匹配的算法套件是什么。(服务端不存在对应证书的算法套件会被过滤掉)

solomon <logch...@gmail.com> 于2022年10月1日周六 00:19写道:
Reply all
Reply to author
Forward
0 new messages