/// <summary> /// 不同格式之间的公私钥对的相互转换 /// </summary> public static void ConversionRSAKey(string privateKey, string publicKey, EnumConversionType enumConversionType, Action <string, string, EnumConversionType> conversion) { conversion(privateKey, publicKey, enumConversionType); }
//封装方法,实现委托 public static void ConversionRSAKeyFunc(string privateKey, string publicKey, EnumConversionType enumConversionType) { if (enumConversionType == EnumConversionType.XML转化为Pkcs1) { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyXmlToPkcs1(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine(publicKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PublicKeyXmlToPem(privateKey)); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } else if (enumConversionType == EnumConversionType.XML转化为Pkcs8) { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyXmlToPkcs8(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine(publicKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PublicKeyXmlToPem(privateKey)); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } else if (enumConversionType == EnumConversionType.Pkcs1转化为XML) { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyPkcs1ToXml(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine(publicKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PublicKeyPemToXml(publicKey)); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } else if (enumConversionType == EnumConversionType.Pkcs1转化为Pkcs8) { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyPkcs1ToPkcs8(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("No conversion required"); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } else if (enumConversionType == EnumConversionType.Pkcs8转化为XML) { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyPkcs8ToXml(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine(publicKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PublicKeyPemToXml(publicKey)); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } else { if (!string.IsNullOrWhiteSpace(privateKey)) { Console.WriteLine(privateKey); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(RsaKeyConvert.PrivateKeyPkcs8ToPkcs1(privateKey)); } if (!string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("No conversion required"); } if (string.IsNullOrWhiteSpace(privateKey) && string.IsNullOrWhiteSpace(publicKey)) { Console.WriteLine("请输入正确的公私钥"); } } }
/// <inheritdoc /> public ITypeScriptConfig UseEnumConversion(EnumConversionType conversionType) { _enumConversionType = conversionType; return(this); }