第一开始,调用KeyFactory keyf = KeyFactory.getInstance(ALGORITHM);报错。如下:
java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
KeyFactory keyf = KeyFactory.getInstance(ALGORITHM, "BC"); 加入了“BC”报如下错误:
com.android.org.bouncycastle.jcajce.provider.asymmetric.util.ExtendedInvalidKeySpecException: unable to process key spec: java.lang.ClassCastException: com.android.org.bouncycastle.asn1.DLSequence cannot be cast to com.android.org.bouncycastle.asn1.ASN1Integer
网上普遍都是说私钥错了,但是我又发现另外一个问题也会报这种错误。
因为我就是这种错误啦,,解决了一天才发现,现在我就发错误的地方:
错误是在AndroidManifest.xml里面。
错误点是这个:
<activity
android:name="com.alipay.H5PayDemoActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind" >
com.alipay.这个其实是自己的包名,但是如果你直接复制DEMO的。会是这个:com.alipay.sdk.pay.demo.H5PayDemoActivity
所以就报错了。
就是这样
最后我还有一个疑问。希望知道的人,可以解答我。
我那个是AndroidManifest.xml里面出错了。为什么我一个账号是可以运行,但另外一个账号不能运行。