openssl和pkcs#11的故事

openssl和pkcs#11的故事

ID:6032324

大小:176.00 KB

页数:12页

时间:2017-12-31

openssl和pkcs#11的故事_第1页
openssl和pkcs#11的故事_第2页
openssl和pkcs#11的故事_第3页
openssl和pkcs#11的故事_第4页
openssl和pkcs#11的故事_第5页
资源描述:

《openssl和pkcs#11的故事》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Openssl和PKCS#11的故事1.1目标通过Openssl和PKCS#11接口,使用USBKEY中的私钥和证书来签发一个下级证书。1.2背景数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。一个标准的X.509数字证书包含以下一些内容:证书的版本信息;证书的序列号,每个证书都有一个唯一的证书序列号;证书所使用的

2、签名算法;证书的发行机构名称,命名规则一般采用X.500格式;证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;证书所有人的名称,命名规则一般采用X.500格式;证书所有人的公开密钥;证书发行者对证书的签名。简而言之,CA从PKCS#10证书请求(或者P7格式)中读取用户信息和公钥信息,使用这些信息封装成一个X.509格式(可能是不同版本,比较普遍是V3),此时唯一没有包括的是证书发行者对证书的签名,此时使用CA的私钥进行签名,得到签名值后CA将其填充到X.509相对应的结构中去,一个X.509证书宝宝就此

3、诞生了。此处唯一不同的是CA的公私钥对和证书都存放在USBKEY中(当然也能存放在加密机或加密卡中),所以将通过USBKEY的PKCS#11接口完成上述操作,而证书相关操作就由Openssl代劳了。1.3正题第一、使用Usbkey向某个CA申请一个证书通过下面的命令来验证,第一组公私钥对和证书是签名证书,第二组是加密证书。可以很明显地看出他们是通过Csp方式操作整个证书申请过程的。C:ProgramFilesSmartcardbundle>pkcs11-tool.exe--moduleDMPKCS11.dll–OCertificateOb

4、ject,type=X.509certlabel:     certaddeybyCSPID:        37af001ddbd525e640ca3c3f6d78b009741d1f48PublicKeyObject;RSA1024bitslabel:     pubkeyaddeybyCSPID:        37af001ddbd525e640ca3c3f6d78b009741d1f48Usage:     encrypt,verifyPrivateKeyObject;RSAlabel:     privatekeyaddeybyC

5、SPID:        37af001ddbd525e640ca3c3f6d78b009741d1f48Usage:     decrypt,signCertificateObject,type=X.509certlabel:     certaddeybyCSPID:        ab268f4320a426b4a6ce70d757cd11fcd83b8dddPublicKeyObject;RSA1024bitslabel:     pubkeyaddeybyCSPID:        ab268f4320a426b4a6ce70d75

6、7cd11fcd83b8dddUsage:     encrypt,verifyPrivateKeyObject;RSAlabel:     privatekeyaddeybyCSPID:        ab268f4320a426b4a6ce70d757cd11fcd83b8dddUsage:     decrypt,sign第二、生成PKCS#11的证书请求这里直接使用Java程序生成一个证书请求。importjava.io.OutputStreamWriter;importjava.security.KeyPair;importjava

7、.security.KeyPairGenerator;importjavax.security.auth.x500.X500Principal;importorg.bouncycastle.jce.PKCS10CertificationRequest;importorg.bouncycastle.openssl.PEMWriter;/***GenerationofabasicPKCS#10request.*/publicclassPKCS10CertRequestExample{   publicstaticPKCS10Certificati

8、onRequestgenerateRequest(       KeyPairpair)       throwsException   {       retur

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。