Byte[] signHashRsaCngPss(Byte[] hash) { var pad = new nCrypt2.BCRYPT_PSS_PADDING_INFO { pszAlgId = HashingAlgorithm.FriendlyName.ToUpper(), cbSalt = PssSaltByteCount }; return(signHashCngGeneric(hash, pad, nCrypt.NCryptSignHash)); }
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)); }
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 );