1、Sequence组织
/*0,1是可选索引号,添加对象均为bouncycastle asn1对象*/
DEREncodableVector vector=new ASN1EncodableVector();
vector.add(new DERTaggedObject(true, 0, notBefore));//添加可选显式对象
vector.add(new DERTaggedObject(false, 1, notAfter));//添加可选隐式对象
vector.add(obj1);//添加必填对象
2、Choice组织
/*0,1是单选索引号,添加对象均为bouncycastle asn1对象*/
PKIBody body=PKIBody.getInstance(new DERTaggedObject(true,0, req));
3、Set组织
DEREncodableVector vector=new ASN1EncodableVector();
DERSet set=new DERSet(vector);
4、OID说明注册机构对象定义的一个整数序列
iso(1)member-body(2)us(3)rsadsi(6)pkcs(1)pkcs-1(2)pkcs-1(1)
组织 成员 国家 组织 公钥标准 加密标准 签名标准
实例:
1. 2. 840. 113549. 1. 1. 5
ISO 成员会 美国 RSA数据安全公司 PKCS RSAEncryption SHA1WITHRSAEncryption
分享到:
相关推荐
4. **解析CDR文件**:在Java代码中,实例化ASN.1编解码器,然后读取CDR文件的字节流,使用编解码器将二进制数据转换为Java对象。以下是一个简化的示例: ```java ASN1InputStream asn1In = new ASN1InputStream...
import org.bouncycastle.asn1.x500.X500Name; import org.bouncycastle.cert.X509v3CertificateBuilder; import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter; import org.bouncycastle.cert.jcajce....
- 使用BouncyCastle库(如描述中提到的BouncyCastle.1.8.5版本)在Java中创建`org.bouncycastle.asn1.pkcs.PrivateKeyInfo`对象,然后封装到`java.security.PrivateKey`。 3. **RSA加密与解密**: - 在Java中,...
Bouncy Castle的标签"bouncycastle java加解密包"揭示了其主要功能,即提供强大的加密和解密能力。该库涵盖了众多的加密算法,如AES、DES、RSA、DSA、ECC等,并且实现了SSL/TLS、S/MIME、PGP等安全协议,使得开发者...
C#的`RSACryptoServiceProvider`可以通过`ExportParameters(true)`(包含私钥)或`ExportParameters(false)`(只含公钥)获取参数,然后构造ASN.1编码的字节数组。PHP中,可以使用`openssl_pkey_get_details`获取PEM...
在Java中实现ASN.1编解码,通常需要使用第三方库,如Bouncy Castle或者OpenSSL。这些库提供了API来方便地编码和解码ASN.1定义的数据结构。例如,你可以创建一个ASN.1对象,指定其类型和值,然后调用库的编码方法将其...
这通常通过读取PEM文件,使用OpenSSL命令行工具或者Java代码中的BouncyCastle库来实现。转化过程涉及RSA公钥的解码和编码,以及ASN.1 DER格式的理解。 3. 企业付款接口调用 转化好公钥后,我们可以使用Java的SSL...