コード例 #1
0
ファイル: RSA.cs プロジェクト: wow4all/mooege
		/// <summary>
		/// Calls PEM_write_bio_RSAPrivateKey()
		/// </summary>
		/// <param name="bio"></param>
		/// <param name="enc"></param>
		/// <param name="passwd"></param>
		/// <param name="arg"></param>
		public void WritePrivateKey(BIO bio, Cipher enc, PasswordHandler passwd, object arg)
		{
			PasswordThunk thunk = new PasswordThunk(passwd, arg);
			Native.ExpectSuccess(Native.PEM_write_bio_RSAPrivateKey(
				bio.Handle,
				this.ptr,
				enc == null ? IntPtr.Zero : enc.Handle,
				null,
				0,
				thunk.Callback,
				IntPtr.Zero));
		}
コード例 #2
0
ファイル: CryptoKey.cs プロジェクト: yaobos/openssl-net
		/// <summary>
		/// Calls PEM_write_bio_PKCS8PrivateKey
		/// </summary>
		/// <param name="bp"></param>
		/// <param name="cipher"></param>
		/// <param name="handler"></param>
		/// <param name="arg"></param>
		public void WritePrivateKey(BIO bp, Cipher cipher, PasswordHandler handler, object arg)
		{
			var thunk = new PasswordThunk(handler, null);
			Native.ExpectSuccess(Native.PEM_write_bio_PKCS8PrivateKey(bp.Handle, ptr, cipher.Handle, IntPtr.Zero, 0, thunk.Callback, IntPtr.Zero));
		}
コード例 #3
0
ファイル: RSA.cs プロジェクト: wow4all/mooege
		/// <summary>
		/// Calls PEM_read_bio_RSAPrivateKey()
		/// </summary>
		/// <param name="bio"></param>
		/// <param name="callback"></param>
		/// <param name="arg"></param>
		/// <returns></returns>
		public static RSA FromPrivateKey(BIO bio, PasswordHandler callback, object arg)
		{
			PasswordThunk thunk = new PasswordThunk(callback, arg);
			IntPtr ptr = Native.PEM_read_bio_RSAPrivateKey(bio.Handle, IntPtr.Zero, thunk.Callback, IntPtr.Zero);
			return new RSA(Native.ExpectNonNull(ptr), true);
		}
コード例 #4
0
ファイル: CryptoKey.cs プロジェクト: yaobos/openssl-net
		/// <summary>
		/// Calls PEM_read_bio_PrivateKey()
		/// </summary>
		/// <param name="bio"></param>
		/// <param name="handler"></param>
		/// <param name="arg"></param>
		/// <returns></returns>
		public static CryptoKey FromPrivateKey(BIO bio, PasswordHandler handler, object arg)
		{
			var thunk = new PasswordThunk(handler, arg);
			var ptr = Native.ExpectNonNull(Native.PEM_read_bio_PrivateKey(
						  bio.Handle,
						  IntPtr.Zero,
						  thunk.Callback,
						  IntPtr.Zero
					  ));

			return new CryptoKey(ptr, true);
		}