x509与x509v3文件夹下的文件功用分析

 
   
OpenSSL的文件名和结构体名使用的缩略语实在是不敢恭维,在这里标注一下是干什么的。文件名和功能很多都是不对应的。
 
x509/
by_dir.c :提供 证书查找时使用目录查找的一些功能函数,这里对证书的查找使用Hash文件名
by_file.c :提供 证书文件查找、加载使用的一些功能函数
verify_extra_test.c :提供 证书链认证的测试文件,可以参考此文件对证书的认证做了解
x_all.c :提供 证书操作的很多接口文件,这个可以多了解下,证书操作的相关的很多功能都在此文件中
x509_att.c :提供 对证书属性的操作
x509_cmp.c :提供 证书名字类等比较、Hash操作,还提供了对公钥、私钥、证书链的一些操作,比较乱
x509_d2.c :提供 默认路径设置、加载的处理函数
x509_def.c :提供 默认信息的获取
x509_err.c :提供 错误处理字符串
x509_ext.c :提供 对证书扩展的操作处理函数,很多函数调用了x509_v3.c里的函数
x509_lu.c :提供 证书的查找、存储功能
x509_obj.c :提供 把证书内部存储Name转换为字符串的函数
x509_r2x.c :提供 把证书请求转换为证书的功能,实际就是给证书签名认证后签发证书
x509_req.c :提供 证书请求相关的操作
x509_set.c :提供 设置证书属性的相关操作
x509_trs.c :提供 证书是否可信任的功能
x509_txt.c :提供 证书认证失败的错误字符串
x509_v3.c :提供 对证书扩展的错做处理函数
x509_vfy.c :提供 证书认证的功能
x509_vpm.c :提供 处理 X509_VERIFY_PARAM 相关的功能文件
x509cset.c :提供 CRL的操作处理函数
x509name.c :提供 对证书Name的操作处理函数
x509rset.c :提供 对证书请求的操作处理函数
x509spki.c :提供 NetScape SPKI的操作处理函数
x509type.c :提供 证书密钥的类型函数
x509v3/
pcy_cache.c :提供 Policy Cache 的处理函数
pcy_data.c :提供 Policy 的申请与释放函数
pcy_lib.c :提供 Policy 操作的一些基础函数
pcy_map.c :提供 Policy Mapping的功能
pcy_node.c :提供 Policy Node 节点的管理函数
pcy_tree.c :提供 Policy Node 节点的树形数据管理
v3_addr.c :处理 IP Addresses 相关的功能文件
v3_akey.c :处理 Authority Key Identifier 相关的功能文件
v3_akeya.c :提供 Authority Key Identifier 辅助文件,仅定义了结构体和函数
v3_alt.c :处理 Subject Alternative Name Issuer Alternative Name Certificate Issuer相关的功能文件
v3_asid.c :处理 AS Identifiers 相关的功能文件
v3_bcon.c :处理 Basic Constraints 相关的功能文件
v3_bitst.c :处理 Key Usage 相关的功能文件
v3_conf.c :提供 处理扩展信息配置的文件
v3_cpols.c :处理 Certificate Policies 相关的功能文件
v3_crld.c :处理 Certificate Distribution Points Issuing Distribution Point Freshest CRL 相关的功能文件
v3_enum.c :处理 CRL Reason 相关的功能文件
v3_extku.c :处理 Extended Key Usage OCSP Acceptable Response Types 相关的功能文件
v3_genn.c :提供 GENERAL_NAME 相关的结构和函数定义
v3_ia5.c :提供 IA5 相关结构和函数
v3_init.c :处理 CRL number Delta CRL Indicator 相关的功能文件
v3_info.c :处理 Authority Information Access Subject Information Access 相关的功能文件
v3_int.c :处理 Inhibit anyPolicy 扩展项相关的功能文件
v3_lib.c :提供 扩展信息处理的通用函数
v3_ncons.c :处理 Name Constraints 扩展项相关的功能文件
v3_ocsp.c :处理 OCSP 扩展项相关的功能文件
v3_pci.c :处理 Proxy Cert Information 扩展项相关的功能文件
v3_pcia.c :提供 Proxy Cert Information 辅助文件,仅定义了结构体和函数
v3_pcons.c :处理 Policy Constraints 扩展项相关的功能文件
v3_pku.c :处理 Private Key Usage Period 相关的功能文件
v3_pmaps.c :处理 Policy Mappings 相关的功能文件
v3_prn.c :提供 扩展选项的打印函数
v3_purp.c :提供 扩展选项指定的证书的用途相关的检查函数
v3_scts.c :处理 CT Precertificate SCTs CT Certificate SCTs 相关的功能文件
v3_skey.c :处理 Subject Key Identifier 相关的功能文件
v3_sxnet.c :处理 Thawte strong extranet extension 相关的功能文件
v3_utl.c :提供 x509证书的工具函数
v3conf.c :提供 从配置文件中增加扩展选项的测试文件
v3err.c :提供 错误处理的一些定义
v3nametest.c :提供 测试文件
v3prin.c :提供 测试文件
 
标准扩展认证方法结构体:
static const X509V3_EXT_METHOD *standard_exts[] = {
&v3_nscert,
&v3_ns_ia5_list[0],
&v3_ns_ia5_list[1],
&v3_ns_ia5_list[2],
&v3_ns_ia5_list[3],
&v3_ns_ia5_list[4],
&v3_ns_ia5_list[5],
&v3_ns_ia5_list[6],
&v3_skey_id, //Subject Key Identifier -- RFC5280
&v3_key_usage, //Key Usage -- RFC5280
&v3_pkey_usage_period, //Private Key Usage Period -- RFC2459
&v3_alt[0], //Subject Alternative Name -- RFC5280
&v3_alt[1], //Issuer Alternative Name -- RFC5280
&v3_bcons, //Basic Constraints -- RFC5280
&v3_crl_num, //CRL number -- RFC5280
&v3_cpols, //Certificate Policies -- RFC5280
&v3_akey_id, //Authority Key Identifier -- RFC5280
&v3_crld, //Certificate Distribution Points -- RFC5280
&v3_ext_ku, //Extended Key Usage -- RFC5280
&v3_delta_crl, //Delta CRL Indicator -- RFC5280
&v3_crl_reason, //CRL Reason -- RFC5280
#ifndef OPENSSL_NO_OCSP
&v3_crl_invdate, //OCSP CRL Invalidity Date -- RFC2459 RFC5280
#endif
&v3_sxnet, //Thawte strong extranet extension
&v3_info, //Authority Information Access -- RFC5280
#ifndef OPENSSL_NO_RFC3779
&v3_addr, //IP Addresses -- RFC3779
&v3_asid, //AS Identifiers -- RFC3779
#endif
#ifndef OPENSSL_NO_OCSP
&v3_ocsp_nonce, //OCSP Nonce -- RFC6960
&v3_ocsp_crlid, //OCSP CRL References -- RFC6960
&v3_ocsp_accresp, //OCSP Acceptable Response Types -- RFC6960
&v3_ocsp_nocheck, //OCSP No Check
&v3_ocsp_acutoff, //OCSP Archive Cutoff -- RFC6960
&v3_ocsp_serviceloc, //OCSP Service Locator -- RFC6960
#endif
&v3_sinfo, //Subject Information Access -- RFC5280
&v3_policy_constraints, //Policy Constraints -- RFC5280
#ifndef OPENSSL_NO_OCSP
&v3_crl_hold, //Hold Instruction Code -- RFC2459
#endif
&v3_pci, //Proxy Cert Information -- RFC3280
&v3_name_constraints, //Name Constraints -- RFC5280
&v3_policy_mappings, //Policy Mappings -- RFC5280
&v3_inhibit_anyp, //Inhibit anyPolicy -- RFC5280
&v3_idp, //Issuing Distribution Point -- RFC5280
&v3_alt[2], //Certificate Issuer -- RFC5280
&v3_freshest_crl, //Freshest CRL -- RFC5280
&v3_ct_scts[0], //CT Precertificate SCTs -- RFC6962
&v3_ct_scts[1], //CT Certificate SCTs -- RFC6962
};

发布了54 篇原创文章 · 获赞 1 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/xingyeping/article/details/50802725
今日推荐