Example #1
0
        Byte[] signHashRsaCngPss(Byte[] hash)
        {
            var pad = new nCrypt2.BCRYPT_PSS_PADDING_INFO {
                pszAlgId = HashingAlgorithm.FriendlyName.ToUpper(),
                cbSalt   = PssSaltByteCount
            };

            return(signHashCngGeneric(hash, pad, nCrypt.NCryptSignHash));
        }
Example #2
0
        Boolean verifyHashRsaPss(Byte[] hash, Byte[] signature)
        {
            var pad = new nCrypt2.BCRYPT_PSS_PADDING_INFO {
                pszAlgId = HashingAlgorithm.FriendlyName.ToUpper(),
                cbSalt   = PssSaltByteCount
            };

            return(verifyHashGeneric(hash, signature, pad, nCrypt.NCryptVerifySignature));
        }
Example #3
0
 public static extern Int32 NCryptVerifySignature(
     [In] SafeNCryptKeyHandle hKey,
     [In] ref nCrypt2.BCRYPT_PSS_PADDING_INFO pPaddingInfo,
     [In, MarshalAs(UnmanagedType.LPArray)] Byte[] pbHashValue,
     [In] Int32 cbHashValue,
     [Out, MarshalAs(UnmanagedType.LPArray)]
     Byte[] pbSignature,
     [In] Int32 cbSignature,
     [In] SignaturePadding dwFlags
     );