privateExponent.toByteArray() might not return the DER format expected
by the function.
Aleksey
On 10/17/13 7:59 AM, allicoder redocilla wrote:
Dear Aleksey (CC xmlsec list),
I am trying to load a private key from memory using xmlsec (testing with
RSA keys). Unfortunately, I can only do this if the memory buffer is a
pem file's contents; anything else fails. I was hoping you might be able
to shed some light on why this might be going wrong.
I am getting the key data from Java using various methods, all to no
avail. I have tried PrivateKey.getEncodedBytes(),
RSAPrivateKey.getPrivateExponent().toByteArray(), new
PKCS8Key().getEncodedBytes(), passing in a der file directly, loading a
der file directly... Nothing but pem files seems to work.
Is this a limitation of xmlsec, or am I just doing something wrong?
Could you suggest a combination of xmlSecKeyDataFormat and the format it
expects?
I'm (attempting to) load the key using
xmlSecKeyPtr privateKey = xmlSecCryptoAppKeyLoadMemory((const
xmlChar*)data, dataLength, xmlSecKeyDataFormat*, NULL, NULL, NULL);
Error message (xmlSecKeyDataFormatDer, privateExponent.toByteArray()):
E/XmlSigner_jni( 6867):
(/home/arc/projects/xml-signing/android-builds//xmlsec/./src/openssl/app.c:263):
(null):PEM_read_bio_PrivateKey and PEM_read_bio_PUBKEY:4:
E/XmlSigner_jni( 6867):
(/home/arc/projects/xml-signing/android-builds//xmlsec/./src/openssl/app.c:205):
(null):xmlSecOpenSSLAppKeyLoadBIO:1:
The keys I'm testing with are unencrypted. I'm using xmlsec checked out
from a few days ago, openssl 0.9.8 from tarball. Platform is Android.
Best wishes,
Alice.
_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec