crypto.verify(algorithm, data, key, signature[, callback])
-
algorithm<string> | <null> | <undefined> -
data<ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> -
key<Object> | <string> | <ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> | <KeyObject> | <CryptoKey> -
signature<ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> -
callback<Function> -
返回:<boolean> 如果未提供
callback函数,则true或false取决于数据和公钥签名的有效性。¥Returns: <boolean>
trueorfalsedepending on the validity of the signature for the data and public key if thecallbackfunction is not provided.
使用给定的密钥和算法验证 data 的给定签名。如果 algorithm 是 null 或 undefined,则算法取决于键的类型。
¥Verifies the given signature for data using the given key and algorithm. If
algorithm is null or undefined, then the algorithm is dependent upon the
key type.
对于 Ed25519、Ed448 和 ML-DSA,algorithm 必须是 null 或 undefined。
¥algorithm is required to be null or undefined for Ed25519, Ed448, and
ML-DSA.
如果 key 不是 KeyObject,则此函数的行为就像将 key 传给 crypto.createPublicKey() 一样。如果是对象,则可以传入以下额外属性:
¥If key is not a KeyObject, this function behaves as if key had been
passed to crypto.createPublicKey(). If it is an object, the following
additional properties can be passed:
-
dsaEncoding<string> 对于 DSA 和 ECDSA,此选项指定签名的格式。它可以是以下之一:¥
dsaEncoding<string> For DSA and ECDSA, this option specifies the format of the signature. It can be one of the following:-
'der'(默认):DER 编码的 ASN.1 签名结构编码(r, s)。¥
'der'(default): DER-encoded ASN.1 signature structure encoding(r, s). -
'ieee-p1363':IEEE-P1363 中提议的签名格式r || s。¥
'ieee-p1363': Signature formatr || sas proposed in IEEE-P1363.
-
-
padding<integer> RSA 的可选填充值,以下之一:¥
padding<integer> Optional padding value for RSA, one of the following:-
crypto.constants.RSA_PKCS1_PADDING(默认)¥
crypto.constants.RSA_PKCS1_PADDING(default) -
crypto.constants.RSA_PKCS1_PSS_PADDING
RSA_PKCS1_PSS_PADDING将使用 MGF1,其散列函数与 RFC 4055 第 3.1 节中指定的消息签名相同。¥
RSA_PKCS1_PSS_PADDINGwill use MGF1 with the same hash function used to sign the message as specified in section 3.1 of RFC 4055. -
-
saltLength<integer> 填充为RSA_PKCS1_PSS_PADDING时的盐长度。特殊值crypto.constants.RSA_PSS_SALTLEN_DIGEST将盐长度设置为摘要大小,crypto.constants.RSA_PSS_SALTLEN_MAX_SIGN(默认值)将其设置为最大允许值。¥
saltLength<integer> Salt length for when padding isRSA_PKCS1_PSS_PADDING. The special valuecrypto.constants.RSA_PSS_SALTLEN_DIGESTsets the salt length to the digest size,crypto.constants.RSA_PSS_SALTLEN_MAX_SIGN(default) sets it to the maximum permissible value. -
context<ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> 对于 Ed448、ML-DSA 和 SLH-DSA,此选项指定可选上下文,以区分使用相同密钥为不同目的生成的签名。¥
context<ArrayBuffer> | <Buffer> | <TypedArray> | <DataView> For Ed448, ML-DSA, and SLH-DSA, this option specifies the optional context to differentiate signatures generated for different purposes with the same key.
signature 参数是先前为 data 计算的签名。
¥The signature argument is the previously calculated signature for the data.
因为公钥可以从私钥派生出来,所以可以为 key 传入私钥或公钥。
¥Because public keys can be derived from private keys, a private key or a public
key may be passed for key.
如果提供了 callback 函数,则该函数使用 libuv 的线程池。
¥If the callback function is provided this function uses libuv's threadpool.