0 0

菜鸟关于BouncyCastle怎样解析PKCS#7请教25

网上好多都是用java解析cer证书,没找到解析P7的,怎样从p7中提取签名。
import java.io.*;
import java.security.cert.*;
import java.text.SimpleDateFormat;
import java.util.*;


public class CertManager
{
public static void showCertInfo()
{
  try
  {
   //读取证书文件

   File file = new File("/data/data/com.example.helloworld/files/test.cer");
   InputStream inStream = new FileInputStream(file);
   //创建X509工厂类
   CertificateFactory cf = CertificateFactory.getInstance("X.509");
   //创建证书对象
   X509Certificate oCert = (X509Certificate)cf.generateCertificate(inStream);
   inStream.close();
   SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd");
   String info = null;
   //获得证书版本
   info = String.valueOf(oCert.getVersion());
   System.out.println("证书版本:"+info);
   //获得证书序列号
   info = oCert.getSerialNumber().toString(16);
   System.out.println("证书序列号:"+info);
   //获得证书有效期
   Date beforedate = oCert.getNotBefore();
   info = dateformat.format(beforedate);
   System.out.println("证书生效日期:"+info);
   Date afterdate = oCert.getNotAfter();
   info = dateformat.format(afterdate);
   System.out.println("证书失效日期:"+info);
   //获得证书主体信息
   info = oCert.getSubjectDN().getName();
   System.out.println("证书拥有者:"+info);
   //获得证书颁发者信息
   info = oCert.getIssuerDN().getName();
   System.out.println("证书颁发者:"+info);
   //获得证书签名算法名称
   info = oCert.getSigAlgName();
   System.out.println("证书签名算法:"+info);


   byte[] byt = oCert.getExtensionValue("1.2.86.11.7.9");
   String strExt = new String(byt);
   System.out.println("证书扩展域:" + strExt);
    byt = oCert.getExtensionValue("1.2.86.11.7.1.8");
   String strExt2 = new String(byt);
   System.out.println("证书扩展域2:" + strExt2);
  }
  catch (Exception e)
  { 
   System.out.println("解析证书出错!");
  }
}//end showCertInfo
}
例如这种就是解析证书的,但是输入p7格式的就会提示解析证书出错,如果解析P7b格式的该怎样解析。问题可能有点菜,但是我找了好久没找到答案,谢谢各位帮忙下。
2013年5月30日 09:17
目前还没有答案

相关推荐

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

    BouncyCastle是一个强大的开源加密库,它支持多种加密算法和标准,包括PKCS#7(也称为CMS,Cryptographic Message Syntax)。 PKCS#7是一种标准格式,用于打包和加密数字签名、证书和数据。它允许在一个单一的结构...

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

    本文将详细讲解如何使用C#语言和BouncyCastle库来实现带原文数据的PKCS#7签名。 PKCS#7(Public-Key Cryptography Standards #7)是由RSA Security提出的一种标准,它定义了证书、证书撤销列表(CRL)的格式以及...

    PKCS#7 数字签名 软件包

    1. 加载Bouncy Castle Provider:在Java安全提供者列表中添加Bouncy Castle,使其能够处理PKCS#7相关操作。 2. 创建消息摘要:对要签名的数据计算哈希值,通常使用SHA-1、SHA-256等哈希算法。 3. 生成签名:使用...

    bouncycastle jar包

    Bouncy Castle实现了PKCS#7(用于数据封装和签名)、PKCS#12(用于存储私钥和证书)、PKCS#5(用于密码化)和PKCS#11(用于硬件加密设备接口)等标准。 **OpenSSL兼容** Bouncy Castle还提供了一个名为BCrypt的...

    BouncyCastle.Crypto.dllC#下的BouncyCastle

    BouncyCastle是JAVA专属库,但出来了C#的库。这个非常实用。仅仅一个dll文件

    org.bouncycastle 加密算法包 最新1.69版

    Bouncy Castle 实现了 PKCS#1、PKCS#5、PKCS#7、PKCS#8 和 PKCS#12 等标准,这些标准涉及密钥管理、密码存储和数据封装等。 9. **JCE 兼容性**: 作为 JCE 的扩展,Bouncy Castle 可以作为替代提供更丰富的加密...

    capicom数字签名及验证源代码(pkcs#7)

    描述中提到的"PKCS#7",全称是"Public-Key Cryptography Standards #7",它定义了一种数据封装格式,用于携带数字签名、证书链等信息。在.NET环境中,通常通过`System.Security.Cryptography.Pkcs`命名空间中的类来...

    BouncyCastle.Crypto.dll 版本1.8.6 C#语言

    它不仅支持基本的加密操作,还涵盖了更复杂的任务,如数字签名、证书管理、SSL/TLS协议以及PKCS#7、PKCS#12、OpenPGP等标准的实现。 1. **加密算法支持**:BouncyCastle.Crypto.dll 提供了多种加密算法的实现,包括...

    创建pkcs12格式数字签名证书的Java代码

    本文将深入探讨如何使用BouncyCastle库在Java中创建PKCS12格式的数字签名证书。 首先,理解BouncyCastle库。BouncyCastle是一个开放源代码的Java密码学API,提供了大量的加密算法、协议和实用工具类。对于处理PKCS#...

    Bouncy Castle 1.64 API及制作工具

    Bouncy Castle 是一个开源的 Java 安全库,提供了一整套加密算法、证书、SSL/TLS 协议以及 PKCS#7、PKCS#12、OpenSSL、CMS、S/MIME 和 X.509 的实现。在 1.64 版本中,这个库继续为开发者提供了强大的安全支持。 1....

    BouncyCastle.Crypto.dll

    2. **兼容性与标准符合**:遵循OpenSSL、PKCS#7、PKCS#12、X.509等业界标准,确保了与其他系统和应用的互操作性。 3. **易用性**:提供简洁的API接口,让开发者可以快速上手并实现复杂的安全功能。 4. **性能优化*...

    BouncyCastle.Crypto.dll 版本1.8.1

    3. **PKCS#7 和 CMS 支持**:BouncyCastle 提供了对公钥加密标准PKCS#7和内容加密标准CMS的支持,这在处理数字签名、证书和加密邮件时非常有用。 4. **OpenSSL 兼容性**:BouncyCastle 还可以与OpenSSL API互操作,...

    BouncyCastle.Crypto

    支持PKCS#7(用于封装和签名数据)和PKCS#12(个人证书存储格式),方便导入和导出证书和密钥。 6. **X.509证书**: X.509证书用于表示公钥及其相关属性,BouncyCastle提供读取、解析和创建X.509证书的能力,这...

    BouncyCastle.Crypto 1.8.1动态库dll

    此外,BouncyCastle还支持PKCS#7、OpenSSL、PGP等协议,使得在.NET环境中处理数字签名、证书、密钥管理和加密通信变得更为简单。 1. **核心概念**: - **密码学算法**:BouncyCastle包含了大量加密算法,如对称...

    org.bouncycastle完整资源包

    它不仅包含了各种经典的加密算法,如AES、DES、RSA、DSA等,还支持PKCS#7、PKCS#12、PEM、X.509证书、OCSP等标准格式,使得开发者能够轻松地在应用程序中集成复杂的密码学操作。 1. **加密算法支持**:`org.bouncy...

    bouncycastle__jar包

    2. **PKCS标准实现**:Bouncy Castle提供了对PKCS#7(用于数据封装和签名)、PKCS#12(用于存储私钥和证书)、PKCS#11(用于硬件安全模块HSM)等标准的支持。 3. **X.509证书处理**:Bouncy Castle可以方便地生成、...

    BouncyCastle依赖.zip

    在BouncyCastle中,bcpkix库提供了创建、解析和管理X.509证书所需的所有工具,这对于构建安全的网络通信至关重要。 在Android开发中,BouncyCastle常用于以下场景: - **SSL/TLS连接**:在进行HTTPS通信时,Bouncy...

Global site tag (gtag.js) - Google Analytics