Я очень новичок в Android и Java, так что, надеюсь, я скучаю
здесь легко Все, что я хочу сделать, это создать простой PKCS10
запрос на подпись сертификата. У меня есть код, который скомпилирует и
запустить на моем Ubuntu Box (Java-6-OpenJDK), но бросает нулевой указатель
Исключение в эмуляторе Android:
KeyPair myKeyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair();
X500Principal subject = new X500Principal("CN=Test V3 Certificate");
PKCS10CertificationRequest csr = new PKCS10CertificationRequest
( "SHA1withRSA",
subject,
myKeyPair.getPublic(),
null,
myKeyPair.getPrivate()
);
byte[] outBytes = csr.getEncoded();
return new String(outBytes);
В отладчике, который я вижу, я, очевидно, построил
PKCS10CertificationRequest, но я ничего не могу с этим поделать
getEncoded () или даже toString ()) без ошибок. Когда я вызываю getEncoded (), происходит сбой на
эмулятор андроида; это трассировка стека:
06-22 04:41:06.143: WARN/System.err(337): java.lang.NullPointerException: obj == null
06-22 04:41:06.213: WARN/System.err(337): at org.bouncycastle.asn1.ASN1Collection.addObject(ASN1Collection.java:95)
06-22 04:41:06.353: WARN/System.err(337): at org.bouncycastle.asn1.DERSequence.<init>(DERSequence.java:34)
06-22 04:41:06.433: WARN/System.err(337): at org.bouncycastle.asn1.x509.AlgorithmIdentifier.toASN1Object(AlgorithmIdentifier.java:
124)
06-22 04:41:06.453: WARN/System.err(337): at org.bouncycastle.asn1.ASN1Encodable.getDERObject(ASN1Encodable.java:
77)
06-22 04:41:06.483: WARN/System.err(337): at org.bouncycastle.asn1.DEROutputStream.writeObject(DEROutputStream.java:
74)
06-22 04:41:06.523: WARN/System.err(337): at org.bouncycastle.asn1.DERSequence.encode(DERSequence.java:70)
06-22 04:41:06.544: WARN/System.err(337): at org.bouncycastle.asn1.DEROutputStream.writeObject(DEROutputStream.java:
74)
06-22 04:41:06.593: WARN/System.err(337): at org.bouncycastle.jce.PKCS10CertificationRequest.getEncoded(PKCS10CertificationRequest.java:
443)
Я пробовал это с обоими уровнями API 7 и 8. Я знаю, что есть
тонну других деталей, которые я мог бы опубликовать о версиях различных
компоненты моей системы. Как я уже сказал, я новичок в этом, так прямо сейчас
Я больше ищу направление, чем обязательно финал
ответить.
Большое спасибо,
Адам Маклер