// 保存鍵間のフォーマット変換
        #region X.509 or Xml 鍵 → Xml or Jwk 公開鍵

        #region X.509

        #region *.cer

        #region Xml
        /// <summary>X509CerToXml</summary>
        /// <param name="certificateFilePath">X.509鍵(*.cer)</param>
        /// <param name="flg">X509KeyStorageFlags</param>
        /// <returns>Xml公開鍵</returns>
        public static string X509CerToXml(
            string certificateFilePath,
            X509KeyStorageFlags flg = X509KeyStorageFlags.DefaultKeySet)
        {
            return(RsaPublicKeyConverter.ParamToXml( // *.cer is PublicKey -> ExportParameters(false)
                       RsaPublicKeyConverter.X509CerToProvider(certificateFilePath, flg).ExportParameters(false)));
        }
 /// <summary>XmlToJwk</summary>
 /// <param name="xmlKey">Xml鍵</param>
 /// <param name="settings">JsonSerializerSettings</param>
 /// <returns>Jwk公開鍵</returns>
 public static string XmlToJwk(
     string xmlKey,
     JsonSerializerSettings settings = null)
 {
     return(RsaPublicKeyConverter.ParamToJwk( // PublicKey -> ExportParameters(false)
                RsaPublicKeyConverter.XmlToProvider(xmlKey).ExportParameters(false), settings));
 }
 /// <summary>X509CerToJwk</summary>
 /// <param name="certificateFilePath">X.509鍵(*.cer)</param>
 /// <param name="settings">JsonSerializerSettings</param>
 /// <param name="flg">X509KeyStorageFlags</param>
 /// <returns>Jwk公開鍵</returns>
 public static string X509CerToJwk(
     string certificateFilePath,
     JsonSerializerSettings settings = null,
     X509KeyStorageFlags flg         = X509KeyStorageFlags.DefaultKeySet)
 {
     return(RsaPublicKeyConverter.ParamToJwk( // *.cer is PublicKey -> ExportParameters(false)
                RsaPublicKeyConverter.X509CerToProvider(certificateFilePath, flg).ExportParameters(false), settings));
 }
        /// <summary>JwkToProvider</summary>
        /// <param name="jwkObject">JObject</param>
        /// <returns>RSA(公開鍵)</returns>
        public static RSA JwkToProvider(JObject jwkObject)
        {
            RSAParameters rsaParameters = RsaPublicKeyConverter.JwkToParam(jwkObject);
            RSA           rsa           = AsymmetricAlgorithmCmnFunc.RsaFactory();

            rsa.ImportParameters(rsaParameters);
            return(rsa);
        }
 /// <summary>JwkToParam</summary>
 /// <param name="jwkString">string</param>
 /// <returns>RSAParameters(公開鍵)</returns>
 public static RSAParameters JwkToParam(string jwkString)
 {
     return(RsaPublicKeyConverter.JwkToParam(
                JsonConvert.DeserializeObject <JObject>(jwkString)));
 }
 /// <summary>XmlToParam</summary>
 /// <param name="xmlKey">Xml鍵</param>
 /// <returns>RSAParameters(公開鍵)</returns>
 public static RSAParameters XmlToParam(string xmlKey)
 {
     return(RsaPublicKeyConverter.XmlToProvider(xmlKey).ExportParameters(false));
 }
 /// <summary>X509PfxToParam</summary>
 /// <param name="certificateFilePath">X.509鍵(*.cer)</param>
 /// <param name="password">string</param>
 /// <param name="flg">X509KeyStorageFlags</param>
 /// <returns>RSAParameters(公開鍵)</returns>
 public static RSAParameters X509PfxToParam(
     string certificateFilePath, string password,
     X509KeyStorageFlags flg = X509KeyStorageFlags.DefaultKeySet)
 {
     return(RsaPublicKeyConverter.X509PfxToProvider(certificateFilePath, password, flg).ExportParameters(false));
 }