Hi David,

It works fine!

Thanks

zlf

> On Oct 14, 2015, at 03:05, David Hook <d...@autochthonous.org> wrote:
> 
> 
> Hi,
> 
> Base64 data by itself isn't PEM data, there need to be headers and footers 
> around it. If you have a look at what the PemWriter produces you should get 
> the idea.
> 
> In this case you can get by with
> 
> using Org.BouncyCastle.Security;
> using Org.BouncyCastle.Utilities.Encoders;
> 
> byte[] keyData = Base64.Decode("MIIC....");
> 
> AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(keyData);
> 
> Regards,
> 
> David
> 
> On 13/10/15 22:04, Lingfeng Zhuang wrote:
>> 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!
>> 
> 

Reply via email to