LoginSignup
0
0

More than 1 year has passed since last update.

cscの作法 その223

Posted at

概要

cscの作法、調べてみた。
キーストアp12ファイルを読み込んで、秘密鍵を取り出して、平文を暗号化、復号してみた。

サンプルコード

using System;
using System.IO;
using System.Security.Cryptography;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography.X509Certificates;

	class test0 {
		static void Main() {
			string encryptWord = "hogehoge2";
			var encByte = Encoding.Unicode.GetBytes(encryptWord);
			Console.WriteLine("original: " + Encoding.Unicode.GetString(encByte));
			var certificate = new X509Certificate2("pkcs12.p12", "password");
			var rsa = (RSACryptoServiceProvider) certificate.PrivateKey;
			byte[] encryptedByte;
			encryptedByte = rsa.Encrypt(encByte, RSAEncryptionPadding.OaepSHA1);
			Console.WriteLine("encrypted: " + Convert.ToBase64String(encryptedByte));
			byte[] decryptedByte;
			decryptedByte = rsa.Decrypt(encryptedByte, RSAEncryptionPadding.OaepSHA1);
			var decryptedString = Encoding.Unicode.GetString(decryptedByte);
			Console.WriteLine("Decrypt: " + decryptedString);
			Console.WriteLine("ok");
		}
	}

実行結果

>ras3
original: hogehoge2
encrypted: USyHfi1J/io8rLbspjSYaThB36aZo45OQ1DNHDgsL19hGj/zOuJPGsxYnYkmlse2KLZyOw0b1XSLCVXc2vi+0R6oBOXuH1TB9216qrKSNeYHB7nZIeC+OCZH6haL3mXa9OK8nW94t4SBBMLbW5a+4lEb6ee0QVMz3vrk5WtL6gM69kebdRkrxSVmI4vQb4jjVhC6F5WnNt1iXB2UceV69an22910FIQwACPcrrQ0APr+G0WCJbAWxldRRb1Lv8Cy28jn8DhFDqelgxCzIJ9jtRVvqQCd4rgx+wqFvFwl3Qy56UUAc1VC9WYu7vcstHZ1IHtOBVKGO5lNmCxiAGy/GA==
Decrypt: hogehoge2
ok

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0