`
持之以恒111
  • 浏览: 10428 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

使用CrpytAPI编码和解码PKCS#7消息(转)

    博客分类:
  • PKI
PKI 
阅读更多
为了在不同体系结构的网络和计算机之间交互加密消息,加密通信各方需要对传送的消息使用标准的方式进行编码。
CryptAPI支持PKCS #7标准加密消息语法格式消息。PKCS #7标准采用了CCITT X.208定义的ASN.1 BER编码规则,定义了加密消息相关的类型和编码方式。
使用CryptAPI进行加密消息编码的基本步骤如下:
1.初始化消息类型相关的数据结构。
2.调用CryptMsgOpenToEncode,获得消息句柄。
3.调用CryptMsgUpdate填入数据,此函数可以调用多次,直到此消息的所有数据被填写完毕。最后一次调用应将 fFinal 参数设置为TRUE。
4.调用CryptMsgGetParam获取需要的编码结果。
5.调用CryptMsgClose关闭消息。
解码的基本步骤如下:
1.使用CryptMsgCalculateEncodedLength确定消息解码所需要的使用的缓冲区长度。
2.调用CryptMsgOpenToDecode,获得消息句柄。
3.调用CryptMsgUpdate填入数据,此函数可以调用多次,直到此消息的所有数据被填写完毕。
4.调用CryptMsgControl进行解密或验证签名之类的附加处理。
5.调用CryptMsgGetParam获取需要的解码结果。
6.调用CryptMsgClose关闭消息。
分享到:
评论

相关推荐

    使用数字证书进行PKCS#7数字签名

    越来越多的应用需要我们使用USB接口数字证书进行PKCS#7数字签名。本文分别介绍了使用微软CryptoAPI方式和OpenSSL Engine方式进行数字签名。特别地,提出了OpenSSL Engine简化方式,这种方式更为灵活方便易行。

    C# SHA256 PKCS#7 生成验名、验签源码 中行支付.rar

    C# SHA256 PKCS#7 生成验名、验签源码 中行支付.

    按PKCS#10数据格式封装PKCS#10数据

    按照ASN.1语法,解析证书请求数据包,再按PKCS#10格式封装证书请求数据。

    PKCS#7格式加解密验签

    提到PKCS,首先想到的是RSA的证书格式(类似,PKCS8,P12等),最近在和一家俄罗斯支付对接时,对方说加密成PKCS#7格式,当时就懵了,以为对方说错了,在这块卡了好几天,通过查资料,终于找到方法了。确实是PKCS#7...

    C# pkcs # 7 签名 验签

    C# 语言,.net平台下实现pkcs # 7 签名 验签,C# 语言,.net平台下实现pkcs # 7 签名 验签

    pkcs#7标准格式

    文档介绍了pkcs#7的格式和结构,里面虽然是英文的,但是很详细的,能看到,另外用ASN1工具和这个结合能很快的理解pkcs#7的结构。

    PKCS#1 java 语言实现参考 V1.0

    基于BigInteger类用java封装的PKCS#1 v2.1 全算法实现,模块与规范一一对应。包含 I2OSP OS2IP RSAEP RSADP RSASP1 RSAVP1 RSAES-OAEP RSAES-PKCS1_v1_5 RSASSA-PSS RSASSA-PKCS1-v1_5 以及 MGF SourceAlgrithm等...

    PKCS#11的部分使用例码

    PKCS#11的部分使用例码 PKCS#11的部分使用例码

    pkcs#11标准中文文档

    关于pkcs#11标准库接口的中文文档,很详细,对于初学者要使用pkcs#11标准接口来说,非常有用。

    C# BouncyCastle实现带原文数据PKCS#7 签名

    使用C# 版本 BouncyCastle 包 ,实现带原文数据PKCS#7 签名。 此版本请不要下载,只包含签名部分。

    pkcs#7- 加密消息语法标准 - 中文版.zip

    PKCS #7:加密消息语法标准,这一标准描述了待加密数据的一般语法,比如数字签名和数字信封。该语法允许递 归,如一个信封能够包含在另一个当中,或者一方能够对一已存在的封装数据进行 签名。它也允许专有的属性和...

    C# BouncyCastle实现带原文数据PKCS#7 签名、验签

    借助 BouncyCastle 在C#里 实现Java中的PKCS7 签名和验签 仅做参考,如有问题欢迎指出。

    pkcs-11v2-20d3.rar_PKCS#1_PKCS#11 USBKey_RSA PKCS_pkcs_usbkey

    在密码系统中,PKCS#11是公钥加密标准(PKCS, Public-Key Cryptography Standards)中的一份子 ,由RSA实验室(RSA Laboratories)发布[1],它为加密令牌定义了一组平台无关的API ,如硬件安全模块和智能卡。...

    PKCS (公钥密码标准)

    • PKCS #7: Cryptographic Message Syntax Standard密文信息语法标准 • PKCS #10: Certification Request Syntax Standard认证请求语法标准 • PKCS #11: Cryptographic Token Interface Standard密码令牌接口...

    企业微信支付到个人银行卡(PKCS#1格式的公钥转为PKCS#8格式)

    网上有例子,自己遇到了坑(公钥的格式不对导致一直报公钥非法错误,里面有详细解决过程)

    pkcs#1_V2.1.zip

    PKCS#1 V2.1版本 定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封

    PKCS #1: RSA Cryptography Specifications Version 2.2

    PKCS #1: RSA Cryptography Specifications Version 2.2 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Language . . . . . . . . . . . . . . . . . ...

    PKCS#11 v2.2(DOC)

    本标准为那些保存密码信息,执行密码... 它遵循一种基于对象的简单方法,提出技术独立性(各种各样的设备)和资源共享(多个应用程序访问多个设备)的目标,把设备的一种通用的逻辑视图,即密码令牌,提供给应用程序。

    PKCS #1 v2.2 RSA Cryptography Standard.pdf

    RSA规范标准

Global site tag (gtag.js) - Google Analytics