小白笔记-------------------------openssl(ca)

来源:互联网 发布:不属于java语言特点 编辑:程序博客网 时间:2024/05/17 03:07

openssl有四个验证证书的模式。你还可以指定一个callback函数,在验证证书的时候会自动调用该callback函数。这样可以自己根据验证结果来决定应用程序的行为。具体的东西在以后的章节会详细介绍的。openssl的四个验证证书模式分别是:

(1) SSL_VERIFY_NONE:完全忽略验证证书的结果。当你觉得握手必须完成的话,就选用这个选项。其实真正有证书的人很少,尤其在中国。那么如果SSL运用于一些免费的服务,比如email的时候,我觉得server端最好采用这个模式。

(2) SSL_VERIFY_PEER:希望验证对方的证书。不用说这个是最一般的模式了。对client来说,如果设置了这样的模式,验证server的证书出了任何错误,SSL握手都告吹。对server来说,如果设置了这样的模式,client倒不一定要把自己的证书交出去。如果client没有交出证书,server自己决定下一步怎么做。

(3) SSL_VERIFY_FAIL_IF_NO_PEER_CERT:这是server使用的一种模式,在这种模式下,server会向client要证书。如果client不给,SSL握手告吹。

 (4)  SSL_VERIFY_CLIENT_ONCE:这是仅能使用在ssl session renegotiation阶段的一种方式。什么是SSL session renegotiation?以后的章节再解释。我英文差点,觉得这个词组也很难翻译成相应的中文。以后的文章里,我觉得很难直接翻译的单词或词组,都会直接用英文写出来。如果不是用这个模式的话,那么在regegotiation的时候,client都要把自己的证书送给server,然后做一番分析。这个过程很消耗cpu时间的,而这个模式则不需要clientregotiation的时候重复送自己的证书了。

0 0