27.openssl编程——OCSP
功能
|
函数
|
d2i_OCSP_REQUEST_bio
|
将bio中的DER编码的数据转换为OCSP_REQUEST数据结构
|
d2i_OCSP_RESPONSE_bio
|
将bio中DER编码的数据转换为OCSP_RESPONSE数据结构
|
i2d_OCSP_RESPONES_bio
|
将OCSP_RESPONSE数据结构DER编码,并输出到BIO中
|
i2d_OCSP_REQUEST_bio
|
将OCSP_REQUEST数据结构DER编码,并输出到BIO中
|
PEM_read_bio_OCSP_REQUEST
|
读取PEM格式的OCSP_REQUESET信息,返回数据结构
|
PEM_read_bio_OCSP_RESPONSE
|
读取PEM格式的OCSP_RESPONSE信息,返回其数据结构
|
PEM_write_bio_OCSP_RESPONE
|
将OCSP_REQUEST结构写成PEM格式
|
PEM_write_bio_OCSP_REQUEST
|
将OCSP_REQUEST结构写成PEM格式
|
OCSP_REQUEST_sign
|
本函数由空来定义,他用于给OCSP_REQUEST数据结构签名。 签名的对象为DER编码的OCSP_REQINFO信息
|
OCSP_request_sign
|
本函数用于给OCSPQ请求消息签名
|
OCSP_BASICRESP_sign
|
对OCSP_BASICRESP结构进行签名,
签名的结构放在OCSP_BASICRESP的signature中,
摘要算法由输入参数指定
|
OCSP_REQUEST_verify
|
验证ocsp请求签名,公钥由公钥由输入参数指定
|
OCSP_request_verify
|
验证ocsp响应,该函数做全面的验证,
包括签名、证书目的以及证书链等
|
OCSP_basic_sign
|
并对brsp结构签名
|
OCSP_check_validity
|
时间检查计算,合法返回1,thisupd为本次更新时间,
nextupd为下次更新时间
|
OCSP_CERTID_dup
|
复制函数
|
OCSP_CERTSTATUS_dup
|
复制函数
|
OCSP_request_add0_id
|
本函数用于往请求消息中添加一个证书ID;
他将一个OCSP_CERTID信息存入OCSP_REQUEST结构,
返回内部生成的OCSP_ONEREQ指针
|
OCSP_request_set1_name
|
本函数用于设置下消息请求者的名字
|
OCSP_request_add1_cert
|
本函数往消息请求中添加一个证书
|
OCSP_response_status
|
本函数获取OCSP相应状态
|
OCSP_reponse_get1_basic
|
本函数从响应数据结构中获取OCSP_BASICERESP信息
|
OCSP_resp_count
|
本函数获取相应消息中包含的证书状态个数
|
OCSP_resp_get0
|
给定单个响应的序号,从堆栈中取出
|
OCSP_resp_find
|
根据ocsp证书ID查询对应的响应在堆栈中的位置,
last为所搜堆栈起始位置
|
OCSP_single_get0_status
|
获取单个证书状态,返回值为其状态,ocsp.h中定义
|
OCSP_resp_find_status
|
功能同OCSP_single_get0_status函数
|
OCSP_request_add1_nonce
|
添加nonce扩展项,val和len表明了nonce值
|
OCSP_check_nonce
|
检测nonce,用于防止重放攻击;
检查请求和响应的nonce扩展项,看他们是否相同;
|
OCSP_copy_nonce
|
将请求中都nonce拷贝到响应中
|
OCSP_crlID_new
|
根据crl的url,crl个数以及生成clr的时间生成X509_EXTENSION扩展项
|
OCSP_accept_response_new
|
根据多个oid的名字生成扩展项,其中oids指针数组,以NULL结尾。
|
OCSP_archive_cutoff_new
|
生成单个证书的Archive Cutoff扩展项
|
OCSP_url_svcloc_new
|
根据颁发这名字和一个或多个ul生成扩展项。扩展项内容为AuthorityInfoAccess。
|
OCSP_cert_to_id
|
根据摘要算法、持有者证书和颁发这证书生成OCSP_CERTIF数据结构
|
OCSP_cert_id_new
|
本函数根据摘要算法\颁发者名字、颁发这公钥DER编码以及证书持有者的证书序列好生成OCSP_CERTID;
奇怪的是serialNumber可以为空,无法识别需要铲鲟状态证书
|
OCSP_id_issuer_cmp
|
比较OCSP_CERTID,如果相等返回0,不想等返回ifei0
|
OCSP_id_cmp
|
比较OCSP_CERTID,本函数比较所有项,包括证书序列号
|
OCSP_parse_url
|
分析url,获取主机、端口、路径和协议等信息
|
OCSP_response_status_strl
|
根据OCSP相应码获取相应状态信息
|
OCSP_cert_status_str
|
根据证书状态吗获取证书状态信息
|
OCSP_REQUEST_print
|
将OCSP请求OCSP_REQUEST的信息输出到bp中,flags表明不支持扩展项
|
OCSP_RESPONSE_print
|
将OCSP请求OCSP_RESPONSE的信息输出到bp中,flags表明不支持到扩展项导出方式。
|
OCSP_request_onereq_get0
|
根据在堆栈中的位置获取OCSP_ONEREQ,OCSP_ONEREQ包含了单个证书信息
|
OCSP_onereq_get0_id
|
获取OCSP_ONEREQ中的证书ID信息
|
OCSP_id_get_info
|
从cid中获取颁发这名字摘要值、摘要算法、颁发这公钥摘要值以及持有者证书序列号
|
OCSP_request_is_signed
|
判断请求是否已签名,如果已签名
|
OCSP_basic_add1_status
|
根据输入参数证书ID、证书状态、撤销原因、撤销时间
|
ASN1_STRING_encode
|
本函数将数据进行DER编码,编码后的结果放在ASN1_STRING中,
兵返回ASN1_STRING.
|
OCSP_REQUEST_get_ext_by_NID
|
根据对象nid获取扩展项
|
OCSP_REQUEST_get_ext_by_OBJ
|
获取对象在x->tbsRequest->requestExtension中的位置
|
OCSP_REQUEST_get_ext
|
根据扩展项在堆栈中的位置获取扩展项
|
OCSP_REQUEST_get1_ext_d2i
|
根据扩展项nid获取扩展项信息,其中返回值为扩展项数据结构的指针地址,
crit返回是否时关键扩展,idx表明他在堆栈中的位置
|
OCSP_REQUEST_add_ext_i2d
|
将具体的扩展项添加到x中,成功则返回1。
|
OCSP_REQUEST_add_ext
|
将扩展项添加到堆栈中,loc表示堆栈位置
|
OCSP_basic_vverify
|
验证OCSP响应消息,成功返回1。验证内容有:验证OCSP签名、
验证OCSP签名者证书、检查每个证书状态信息的颁发者是否相同、
检查颁发者证书的扩展密钥用法中是否支持OCSP签名
|
27.openssl编程——OCSP相关推荐
- openssl 编程。 证书制作
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 写博客 发Chat 登录注册 么刚的专栏 RSS订阅 原 openssl证书制作及编程 2010年07月29日 ...
- OCSP介绍以及使用OpenSSL编程实现
首先我们知道在PKI体系中,证书的生命周期如下所示, 对于一个可信任的 CA 机构颁发的有效证书,在证书到期之前,只要 CA 没有把其吊销,那么这个证书就是有效可信任的.有时,由于某些特殊原因(比如私 ...
- 《openssl 编程》之 RSA(转)
17.1 RSA介绍 RSA算法是一个广泛使用的公钥算法.其密钥包括公钥和私钥.它能用于数字签名.身份认证以及密钥交换.RSA密钥长度一般使用1024位或者更高.RSA密钥信息主要包括[1]: Ø ...
- 《openssl 编程》之错误处理
第十四章 错误处理 14.1 概述 程序设计时,一般通过函数的返回值来判断是否调用成功.设计良好的函数以及好的错误处理能帮助调用者快速找到错误原因.错误处理应该尽可能多的包含各种信息,包括: Ø ...
- 《openssl 编程》之文本数据库
第十章 文本数据库 10.1 概述 Openss实现了一个简单的文本数据库,它可以从文件读取数据和将数据写到文件中,并且可以根据关键字段来查询数据.Openssl的文本数据库供apps/目录下的 ...
- OPENSSL编程 第二十章 椭圆曲线
20.1 ECC介绍 椭圆曲线算法可以看作是定义在特殊集合下数的运算,满足一定的规则.椭圆曲线在如下两个域中定义:Fp域和F2m域. Fp域,素数域,p为素数: F2m域:特征为2的有限域,称之为二 ...
- 笔记整理——使用openssl编程
error: openssl 的所有解决方案 (2013/6/22 17:39:00) error: openssl/crypto.h: No such file or directory 解决方案 ...
- OpenSSL 编程 二:搭建 CA
一.证书 证书 – 为公钥加上数字签名 二.证书标准规范X.509 证书是由认证机构颁发的,使用者需要对证书进行验证,因此如果证书的格式千奇百怪那就不方便了.于是,人们制定了证书的标准规范,其中使用最 ...
- 《openssl 编程》之 DH
第十九章DH 19.1 DH算法介绍 DH算法是W.Diffie和M.Hellman提出的.此算法是最早的公钥算法.它实质是一个通信双方进行密钥协商的协议:两个实体中的任何一个使用自己的私钥和另一实 ...
最新文章
- 远程处理Remoting
- 学点Webpack吧
- linux pfn,ARM Linux下的page和pfn之间转换的宏。
- 【深度学习】图像特征提取与通道数问题(基于U型网络)
- SVN服务器搭建和使用教程
- 如何判断一个点是否在一个多边形内?
- facenet + Mtcnn 实现人脸识别(实现步骤)
- php array 如何访问,php – 如何访问$array [@key]值
- 拳王虚拟项目公社:虚拟资源知识付费怎么玩?如何做知识付费?知识付费如何赚钱?
- html 设计页面,HTML5网页设计
- BlackBerry 9850 应用:BBM, Windows Live Messenger (msn)
- FTP上传失败报错227 Entering Passive Model (222,111,8,111,10,40)
- Intel Realsense D455 D435i D415 T265 3D实感硬件对比
- 游戏设计模式阅读笔记18——优化模式(对象池模式)
- CCNA(十五)思科ACL、NAT配置命令
- eos的石墨烯技术是什么
- SAP BOM的类二维报表
- 排查maven中可以从远程下载下来jar包,但是却报错Failure to find was cached in the local repository, resolution will not
- Phonics 自然拼读法 c/k,e,h,r,m,d Teacher:Lamb
- 不可不知的操作系统知识
热门文章
- 已处理证书链,但是在不受信任提供程序信任的根证书中终止
- 工业与民用配电设计手册第四版_工业电气设计|超赞! 改进版配电柜 内部结构解析大全...
- 积极准备、谨慎行动——应对多核编程革命
- 社交平台数据提取:Social Phone Extractor
- 英语二的复习经验分享
- 360随身WiFi能免费上网吗?
- java【多线程】之同步下载图片
- Android携程高级用法,Android真正仿携程首页view实现
- k线符号图解大全_如何股票开户,麻烦朋友们介绍一个好点的证券公司?k线组合108式图解...
- 药品销售管理系统 系统开发 PB9.0