我需要使用C-land OpenSSL验证X509证书的域名.
我的理解是库不会为我做这个,我必须大致实现以下算法:
name为该值.name为主题的CN字段.name与请求的主机名进行比较,允许每个星号匹配[A-Za-z0-9 _] +,但不匹配'点'(.).在我看来,应该有足够的代码来执行此操作,但我还没有找到任何代码.
任何人都可以找到这样的例子吗?或者,理智检查我的算法?
编辑:这是我想出的:https://gist.github.com/2821083.看起来很奇怪OpenSSL会把这个留给调用代码.
你很喜欢 - 虽然要注意主题替代名称和原始IP地址和FQDN.你可能想偷
BOOL SSL_X509_getIDs(apr_pool_t *p, X509 *x509, apr_array_header_t **ids)
来自http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_util_ssl.c的相关朋友以及ssl_engine_init.c中的被调用者(这是服务器端的方式)所有选项.
当你在openssl回调上行动时 - 如果你没有提供已经在CTX中的那个,也要考虑日期和时间以及链条.
DW.
| 归档时间: | 
 | 
| 查看次数: | 4785 次 | 
| 最近记录: |