- 10
- 0
- 约2.52千字
- 约 12页
- 2019-02-05 发布于湖北
- 举报
第5章OpenSSL签名和验证
第5章 OpenSSL签名和验证 概述 5.1 函数介绍 5.2 实例应用 小结 概述 OpenSSL中的签名,是先对原始数据计算摘要,然后对摘要使用私钥加密即签名。 验证签名时,先对原始数据计算摘要,并对收到的签名使用公钥解密,然后对比二者结果,如果一致,则说明签名有效,否则,则认为签名无效(可能原因:原始数据或签名值被篡改)。 概述 OpenSSL在Evp.h中对签名和验证函数进行了封装。对数据签名,其实就是对数据的摘要进行私钥加密。验证签名就是解密签名数据,然后和原始摘要对比,看是否一致。 数字签名结合数字证书可以实现身份认证、防篡改、防抵赖的功能。签名的数据格式为PKCS#1。 5.1 函数介绍 根据上面介绍可知,OpenSSL在使用私钥加密前的处理过程就是生成消息摘要的过程,因此函数实质一样,此处即摘要函数的宏定义,验证前同理。 各个函数介绍如下: 1、 签名初始化函数#define EVP_SignInit_ex EVP_DigestInit_exint EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type,ENGINE *impl); 2、 签名更新函数#define EVP_SignUpdate EVP_DigestUpdateint EVP_DigestUpdate(EVP_MD_CTX *ctx,const void *d, size_t cnt); 5.1 函数介绍 3、 签名结束函数int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char* md, unsigned int *s, EVP_PKEY *pkey);功能:计算签名结束, 输出签名值。参数说明:ctx:[IN]上下文变量md:[OUT] 签名结果输出值的指针 s:[OUT] 签名的长度pkey:[IN] 签名的私钥。 4、 验证初始化函数---设置摘要算法和摘要算法引擎#define EVP_VerifyInit_ex EVP_DigestInit_exint EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type,ENGINE *impl); 5.1 函数介绍 5、 验证更新函数#define EVP_VerifyUpdate EVP_DigestUpdateint EVP_DigestUpdate(EVP_MD_CTX *ctx,const void *d,size_t cnt); 6、 验证结束函数int EVP_VerifyFinal (EVP_MD_CTX *ctx, const unsigned char *sigbuf, unsigned int siglen, EVP_PKEY *pkey);功能:计算验证结束, 提示输出验证值。参数说明:ctx:[IN]上下文变量sigbuf:[IN] 签名值 siglen:[IN] 签名的长度pkey:[IN] 验证签名的公钥。 5.1 函数介绍(补充) 5.1 函数介绍(补充) 5.2 实例应用 5.2 实例应用 5.2 实例应用 小结 理解并掌握签名和验证签名的基本原理。 理解并掌握openssl签名和验证签名的常用函数。 * * 1. RSA基本结构 struct ????{ ????? int pad; ????? long version; ????? const RSA_METHOD *meth; ????? ENGINE *engine; ????? BIGNUM *n;???????? n=p*q ????? BIGNUM *e;???????? 公开的加密指数,经常为65537(ox10001) ????? BIGNUM *d;???????? 私钥 ????? BIGNUM *p;???????? 大素数p ????? BIGNUM *q;???????? 大素数q ????? BIGNUM *dmp1;????? d mod (p-1) ????? BIGNUM *dmq1;????? d mod (q-1) ????? BIGNUM *iqmp;????? (inverse of q) mod p ????? int references; ????? int flags; ??????? // ... ????? }RSA; 2.初始化函数 RSA * RSA_new(void);初始化一个RSA结构 void RSA_free(RSA *rsa);释
您可能关注的文档
- 电话闭塞法行车规定.ppt
- 电脑入门知识路由器安全漏洞的严重性.ppt
- 疏散演练培训教材.ppt
- 益阳益华水产品有限公司安全生产培训.ppt
- 真爱创造生命奇迹,令人动容.ppt
- 杭州风讯文化传播有限公司简介20110210.ppt
- 眼动仪EyeLinkII.ppt
- 矿井火灾防治矿长班.ppt
- 矿山爆破安全管理浅析23.ppt
- 桃仙板块别墅地块可行性分析.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解.docx VIP
- PLC实现的台车呼叫控制系统.pdf VIP
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解(5卷).docx VIP
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解.docx VIP
- 2026中国跨境电商物流体系优化与成本控制策略研究报告.docx
- 消防工程三措一方案(3篇).docx VIP
- 鱼我所欲也原文.docx VIP
- 计算机应用基础(Windows10+WPSOffice)教学教案.docx VIP
- 2025年贵州省中考语文试卷真题(含答案详解).docx
- 第2次超级机器人大战Z 再世篇.pdf VIP
原创力文档

文档评论(0)