public static IntPtr DeriveKey(IntPtr prov, Calg algId, IntPtr hash, GenKeyParam flags) { IntPtr key; bool retVal = Crypto.CryptDeriveKey(prov, (uint)algId, hash, (uint)flags, out key); ErrCode ec = Error.HandleRetVal(retVal); return key; }
public static IntPtr DeriveKey(IntPtr prov, Calg algId, IntPtr hash, GenKeyParam flags) { IntPtr key; bool retVal = NativeMethods.CryptDeriveKey(prov, (uint)algId, hash, (uint)flags, out key); ErrCode ec = Error.HandleRetVal(retVal); return(key); }
//algId can also be AT_KEYEXCHANGE = 1, AT_SIGNATURE = 2, public static IntPtr GenKey(IntPtr prov, Calg algId, GenKeyParam flags) { IntPtr key; bool retVal = Crypto.CryptGenKey(prov, (uint)algId, (uint)flags, out key); ErrCode ec = Error.HandleRetVal(retVal); return(key); }
public static IntPtr ImportKey(IntPtr prov, byte[] keyBlob, IntPtr pubKey, GenKeyParam param) { uint keyLen = (uint)keyBlob.Length; IntPtr key; bool retVal = NativeMethods.CryptImportKey(prov, keyBlob, keyLen, pubKey, (uint)param, out key); ErrCode ec = Error.HandleRetVal(retVal); return(key); }
public static IntPtr ImportKey(IntPtr prov, byte[] keyBlob, IntPtr pubKey, GenKeyParam param) { uint keyLen = (uint) keyBlob.Length; IntPtr key; bool retVal = Crypto.CryptImportKey(prov, keyBlob, keyLen, pubKey, (uint) param, out key); ErrCode ec = Error.HandleRetVal(retVal); return key; }