I generate private key in java, but failed load in C# with BouncyCastle. C# PemReader pemReader = new PemReader(new StringReader(
@"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJx5AYmcTmkHIH3qUFmLw7pmPoTS pAS/1RnobIMSnjk5L3dgzvB47Q+24XZ1G4o/H/K8ZoCBOrQ61cFWKLzg8jr756n15c/O9L95YSkl OhjGvf3kIw+3dphhfkWuWrH1iIxZ5Q9zxhu8H0zfWTB7XPYVuwoPz1GRDr9Co9+sJi4HAgMBAAEC gYB0B69CMixa6bQIazbGEERF9wepSuHhu7b0jUvaLnYyDNvL9HfADowMORsb0l9ntsOkJl0EMdAs Ueysf42Z8lzsgp4VbTUsbwmX7lsS9fPY1fTVLDLZ8koOco+h+U/aXF10vuSnbJJqDbEDVqOWeGOz vcIkP+5KZ1agZvcLj/f9EQJBANh2Hygv3UcUTRUcOvkVvCXdl4pg3DvjPpG6T1be2ZZqpclDpqJn 4q7bC7lk6JVSXuCvuu5tZYGext1B4N0btOMCQQC5DcWIHFJm4+W5Hb4CeGCqHixr5oQSlxZGvdE7 JPjPFo/oy0PVA6Aj6YHurjmc2de1NUWIQgpJ0bgfIrTS4M+NAkAeozlturibIuh2IHTIZKcoxOB6 GZOSdmuYvMIWDZzGiXnFruma+xE+popWR04UNIBxVO4kaR+A5TRIhNaK9Sz5AkBcbquO7A6gxA63 40pIc5ZdAstPbgnkO0FuPlvnPfVlgzCIqBcOrEvuBDHZZX7zgMBFDAHaKJp4+t8L9kr51j71AkEA lPVyDQfgzQpFDjdcnJe+rgIi0Q9hrcJmI2N3hP2vhX1Kdh+JzAeAdbYppPCVqO/Ovv+akES8hu8s uKiWr7FfxA==")); object obj = pemReader.ReadObject(); *obj is null.* JAVA Source Code: import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; public class RSAEncrypt { public static void createKeyPairs() throws Exception { // create the keys KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA"); generator.initialize(1024, new SecureRandom()); KeyPair pair = generator.generateKeyPair(); PublicKey pubKey = pair.getPublic(); PrivateKey privKey = pair.getPrivate(); byte[] pk = pubKey.getEncoded(); byte[] privk = privKey.getEncoded(); String strpk = new String(getASE64FromBytes(pk)); String strprivk = new String(getASE64FromBytes(privk)); System.out.println("PublicKey Base64:\r\n" + strpk); System.out.println(); System.out.println("PrivateKey Base64:\r\n" + strprivk); } public static void main(String[] args) throws Exception { createKeyPairs(); } public static String getASE64FromBytes(byte[] s) { if (s == null) return null; return (new sun.misc.BASE64Encoder()).encode(s); } } JAVA console output: PublicKey Base64: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCceQGJnE5pByB96lBZi8O6Zj6E0qQEv9UZ6GyD Ep45OS93YM7weO0PtuF2dRuKPx/yvGaAgTq0OtXBVii84PI6++ep9eXPzvS/eWEpJToYxr395CMP t3aYYX5Frlqx9YiMWeUPc8YbvB9M31kwe1z2FbsKD89RkQ6/QqPfrCYuBwIDAQAB PrivateKey Base64: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJx5AYmcTmkHIH3qUFmLw7pmPoTS pAS/1RnobIMSnjk5L3dgzvB47Q+24XZ1G4o/H/K8ZoCBOrQ61cFWKLzg8jr756n15c/O9L95YSkl OhjGvf3kIw+3dphhfkWuWrH1iIxZ5Q9zxhu8H0zfWTB7XPYVuwoPz1GRDr9Co9+sJi4HAgMBAAEC gYB0B69CMixa6bQIazbGEERF9wepSuHhu7b0jUvaLnYyDNvL9HfADowMORsb0l9ntsOkJl0EMdAs Ueysf42Z8lzsgp4VbTUsbwmX7lsS9fPY1fTVLDLZ8koOco+h+U/aXF10vuSnbJJqDbEDVqOWeGOz vcIkP+5KZ1agZvcLj/f9EQJBANh2Hygv3UcUTRUcOvkVvCXdl4pg3DvjPpG6T1be2ZZqpclDpqJn 4q7bC7lk6JVSXuCvuu5tZYGext1B4N0btOMCQQC5DcWIHFJm4+W5Hb4CeGCqHixr5oQSlxZGvdE7 JPjPFo/oy0PVA6Aj6YHurjmc2de1NUWIQgpJ0bgfIrTS4M+NAkAeozlturibIuh2IHTIZKcoxOB6 GZOSdmuYvMIWDZzGiXnFruma+xE+popWR04UNIBxVO4kaR+A5TRIhNaK9Sz5AkBcbquO7A6gxA63 40pIc5ZdAstPbgnkO0FuPlvnPfVlgzCIqBcOrEvuBDHZZX7zgMBFDAHaKJp4+t8L9kr51j71AkEA lPVyDQfgzQpFDjdcnJe+rgIi0Q9hrcJmI2N3hP2vhX1Kdh+JzAeAdbYppPCVqO/Ovv+akES8hu8s uKiWr7FfxA== Thanks!