我已经在java卡中生成了密钥对并返回公钥。我在 android 应用程序中再次生成公钥,然后在 android 中生成 CSR
private byte[] CertReqGeneration() throws Exception
{
if(publickeyobj==null)
return null;
String info = "CN=cn, OU=ou, O=o, C=cn, ST=city";
X500Principal x500 = new X500Principal(info);
X500Name x500name;
x500name= X500Name.getInstance(x500.getEncoded());
CertificationRequestInfo csrInfo = new CertificationRequestInfo(x500name, publickeyobj, new DERSet());
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(csrInfo);
ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier("0.0");
v.add(new DERSequence(oid));
v.add(new DERBitString(new byte[] {}));
byte[] encoded = new DERSequence(v).getEncoded();
byte[] PKCS10= DataSignGeneration(encoded);
byte[] encoded = Base64.encode(PKCS10);
String base64=new String(encoded);
return base64;
}
Run Code Online (Sandbox Code Playgroud)
但是当我想在 ca 中发布它时,我收到错误 asn1 bad …