Ich habe Java-Code zur Erzeugung von Keypair BC wie folgt verwendet:Gene Keypair Hüpfburg mit
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
KeyPair key = keyGen.generateKeyPair();
PrivateKey priv = key.getPrivate();
PublicKey pub = key.getPublic();
String privateKey = new String(Base64.encode(priv.getEncoded(), 0,priv.getEncoded().length, Base64.NO_WRAP));
String publicKey1 = new String(Base64.encode(pub.getEncoded(), 0,pub.getEncoded().length, Base64.NO_WRAP));
String publicKey = new String(Base64.encode(publicKey1.getBytes(),0, publicKey1.getBytes().length, Base64.NO_WRAP));
Jetzt möchte ich in C# BC gleich zu tun. Ich habe die WP8BouncyCastle-Bibliothek über den nugget-Paket-Manager heruntergeladen. Ich habe geschrieben:
var kpgen = new RsaKeyPairGenerator();
kpgen.Init(new KeyGenerationParameters(new SecureRandom(new CryptoApiRandomGenerator()), 1024));
var keyPair = kpgen.GenerateKeyPair();
AsymmetricKeyParameter privateKey = keyPair.Private;
AsymmetricKeyParameter publicKey = keyPair.Public;
string prvKey = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(privateKey.ToString()));
string pubKey = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(publicKey.ToString()));
string pubKey1 = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(pubKey.ToString()));
Aber ich brauche getEncoded()
Methode in Java, die in BC-Bibliothek in C# nicht verfügbar ist. Diese Methode wird verwendet, um bestimmte Schlüssel in X.509-Schlüssel zu konvertieren. Im Fall von Java, öffentliche Schlüssel zweimal konvertiert (getencoded()
und getBytes()
), ich bin nicht in der Lage, dies in C# zu tun.
Gibt es eine Lösung?
ich es von anderen blog.Anyways thanx bekam. – Vaibhav
Sie könnten zumindest schreiben die Blog-Link:/ –
Namespaces: Org.BouncyCastle.Asn1.Pkcs.PrivateKeyInfo, Org.BouncyCastle.Pkcs.PrivateKeyInfoFactory, Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo, Org.BouncyCastle.X509.SubjectPublicKeyInfoFactory –