public void GenerateKeyPairUnsupported() { // Ensure we have the correct first value of the enum. Assert.AreEqual((double)KeyPair.KeyTypes.Ecc, 0); const KeyPair.KeyTypes invalidEnumType = KeyPair.KeyTypes.Ecc - 1; Assert.Throws <InvalidEnumArgumentException>(() => AsymmetricCryptoUtil.GenerateKeyPair(invalidEnumType)); }
public static KeyPair GenerateKeyPair(KeyPair.KeyTypes type) { AsymmetricCipherKeyPair generatedKeyPair; switch (type) { case KeyPair.KeyTypes.Ecc: generatedKeyPair = GenerateKeyPairEcc(); break; case KeyPair.KeyTypes.Rsa: generatedKeyPair = GenerateKeyPairRsa(); break; default: throw new InvalidEnumArgumentException("Invalid key type"); } var pubKeyPem = ConvertPublicKeyToPem(generatedKeyPair.Public); var privKeyPem = ConvertPrivateKeyToPem(generatedKeyPair.Private); return(new KeyPair(type, privKeyPem, pubKeyPem)); }