支付宝踩坑:java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0c0000b9:ASN.1 encoding routines:OPENSSL_internal:WRONG_TAG
这个问题是:Android4.1的问题,4.1之后就是加KeyFactory keyf = KeyFactory.getInstance(ALGORITHM, "BC");
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64.decode(privateKey));
KeyFactory keyf = KeyFactory.getInstance(ALGORITHM, "BC");//
PrivateKey priKey = keyf.generatePrivate(priPKCS8);
java.security.Signature signature = java.security.Signature.getInstance(getAlgorithms(rsa2));
signature.initSign(priKey);
signature.update(content.getBytes(DEFAULT_CHARSET));
byte[] signed = signature.sign();
//LogUtils.logd("AliPaySignTool.sign:加密返回");
return Base64.encode(signed);
本文详细解析了在Android4.1环境下使用支付宝进行支付时遇到的java.security.spec.InvalidKeySpecException异常,介绍了如何通过正确的密钥生成和签名过程来解决此问题。
6751

被折叠的 条评论
为什么被折叠?



