java - Why can't Bouncycastle's PEMReader read this M2Crypto-generated PEM? -
i use following python code, using m2crypto, generate rsa key pair in pem format:
bio = bio.memorybuffer() key_pair = rsa.gen_key(1024, 65537) key_pair.save_key_bio(bio, cipher=none) return bio.read() and following java code, using bouncycastle, try read it:
string signpem = ...; pemreader pemreader = new pemreader(new stringreader(signpem)); object signingkey = pemreader.readobject(); the signpem string same bio.read() returned; no data can see getting munged between 2 programs; it's -----begin rsa private key-----\n etc.
however, readobject() call throws classcastexception:
java.lang.classcastexception: org.bouncycastle.asn1.dersequence @ org.bouncycastle.asn1.asn1object.frombytearray(unknown source) @ org.bouncycastle.openssl.pemreader.readkeypair(unknown source) @ org.bouncycastle.openssl.pemreader.readobject(unknown source) so bc misidentifies data in pem not key pair reason - why?
after taking debugger bouncycastle, have discovered "cause", puzzles me more; cast failing though types seem correct.
if extends b extends c, why can cast classcastexception casting c?
Comments
Post a Comment