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

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -