Windows CNG : デフォルトプロバイダーだとRSAでSHA256で署名を取れる : .NET 3.5 SP1 以上

CNG= Cryptography Next Generation だといけるようです。 
       public static string Sign(string src)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            string s = rsa.ToXmlString(true);

            RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider();
            rsa2.FromXmlString(s);

            byte[] ret =   rsa2.SignData(Encoding.ASCII.GetBytes("hoge"), "SHA256");
            return Convert.ToBase64String(ret);
        }

 

XML形式のプライベートキー

WS000015

これはSystem.Security.Cryptography.RSAParameters に対応しています。 OpenSSLの rsaの比較は、

MODULUS=<Modulus>
PUBLIC_EXPONENT=<Exponent> PRIVATE_EXPONENT=<D>
CRT_PRIME1=<P>
CRT_PRIME2=<Q>
CRT_EXPONENT1=<DP>
CRT_EXPONENT2=<DQ>
CRT_COEFFICIENT=<InverseQ>

のようです。

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中