public void store(EzyKeyPair keypair) { Directory.CreateDirectory(FOLDER); StreamWriter publicKeyWriter = new StreamWriter(PUBLIC_KEY_PATH, true); publicKeyWriter.WriteLine(keypair.getPublicKey()); publicKeyWriter.Close(); StreamWriter privateKeyWriter = new StreamWriter(PRIVATE_KEY_PATH, true); privateKeyWriter.WriteLine(keypair.getPrivateKey()); privateKeyWriter.Close(); }
public EzyKeyPair generate(int keySize) { RsaKeyPairGenerator generator = new RsaKeyPairGenerator(); generator.Init(new KeyGenerationParameters(new SecureRandom(), keySize)); var pair = generator.GenerateKeyPair(); var privateKey = PrivateKeyInfoFactory.CreatePrivateKeyInfo(pair.Private); byte[] privateKeyBytes = privateKey.ToAsn1Object().GetDerEncoded(); string privateKeyString = Convert.ToBase64String(privateKeyBytes); var publicKey = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(pair.Public); byte[] publicKeyBytes = publicKey.ToAsn1Object().GetDerEncoded(); string publicKeyString = Convert.ToBase64String(publicKeyBytes); EzyKeyPair keyPair = new EzyKeyPair(privateKeyString, publicKeyString); return(keyPair); }