xixitalk's snippet

Post Longer Than 140 Characters Tweets

Oct 18, 2016 - Comments

stunnel verify选项配置

verify配置认证方式,取值0 1 2 3 4。

0 - request and ignore peer cert
1 - only validate peer cert if present
2 - always require a valid peer cert
3 - verify peer with locally installed cert
4 - ignore CA chain and only verify peer cert

stunnel5 verify配置

代码版本stunnel 5.36 文件option.c 函数parse_service_option()

    case CMD_EXEC:
        if(strcasecmp(opt, "verify"))
            break;
        {
            char *tmp_str;
            int tmp_int=(int)strtol(arg, &tmp_str, 10);
            if(tmp_str==arg || *tmp_str || tmp_int<0 || tmp_int>4)
                return "Bad verify level";
            section->option.request_cert=1;
            section->option.require_cert=(tmp_int>=2);
            section->option.verify_chain=(tmp_int>=1 && tmp_int<=3);
            section->option.verify_peer=(tmp_int>=3);
        }
        return NULL; /* OK */

verify选项合法值为:0 1 2 3 4

取值 request_cert require_cert verify_chain verify_peer
0 × × ×
1 × ×
2 ×
3
4 ×

conf配置文件里,requireCert可以修改require_cert,verifyChain可以修改verify_chainverifyPeer可以修改verify_peer

根据上表可得出,stunnel5里verify = 3最全面。

我自己服务器端是verify = 3,客户端用的是verify = 4

verify = 4
verifyChain = no
verifyPeer = yes

如果是stunnel4,配置verify = 3即可,点对点连接推荐3。


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

Tags: tech stunnel

stunnel双向证书认证 编译stunnel

comments powered by Disqus