Verify Buffer (QYDOVFYB, QydoVerifyBuffer)


  Required Parameter Group:

1 Buffer to verify Input Char(*)
2 Description of buffer to verify Input Char(*)
3 Number of descriptions to verify Input Binary(4)
4 Signature to verify Input Char(*)
5 Length of signature to verify Input Binary(4)
6 Certificate to verify signature Input Char(*)
7 Length of certificate to verify signature Input Binary(4)
8 Format of the certificate Input Char(8)
9 Error Code I/O Char(*)

  Service Program Name: QYDOBUFFER

  Default Public Authority: *USE

  Threadsafe: No

The Verify Buffer (OPM, QYDOVFYB; ILE, QydoVerifyBuffer) API allows the local system to verify that the series of bytes signed earlier has not been tampered with. It does this by verifying a digital signature for those bytes.


Authorities and Locks

API Public Authority
*USE.

Authority Required
None.

Required Parameter Group

Buffer to verify
INPUT; CHAR(*)

The buffer of data to be verified. Only the part of the object described in the Description of buffer to sign will be verified.

Description of buffer to verify
INPUT; CHAR(*)

Array of offsets and lengths to the data to be verified. The API will treat these bytes as if they were a contiguous stream of bytes.

The format of the description of the data to verify is in the following table. For detailed descriptions of the fields in this table, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 Binary(4) Offset to start of first series of bytes to verify
4 4 Binary(4) Length of first series of bytes to verify
n n Binary(4) Offset to start of next series of bytes to verify
n+4 n+4 Binary(4) Length of next series of bytes to verify

Number of descriptions to verify
INPUT; BINARY(4)

Number of offsets and lengths needed to describe data to be verified.

Signature to verify
INPUT; CHAR(*)

The signature to be verified. This signature will be checked against the data identified in the first two parameters to see if the data has changed since it was signed by this signature.

Length of signature to verify
INPUT; BINARY(4)

Length of the specified signature.

Certificate to verify signature
INPUT; CHAR(*)

The certificate that was used to create the signature. This certificate must be in the format described in the 'Format of the certificate' parameter.

Length of certificate to verify signature
INPUT; BINARY(4)

Length of the specified certificate.

Format of the certificate
INPUT; CHAR(8)

The format of the certificate to verify parameter:

CERT0100 Certificate label. Uses *SIGNATUREVERIFICATION certificate store to find certificate.
CERT0200 ASN.1 encoded certificate. This is the certificate itself.
CERT0300 Distinguished name of certificate. Uses LDAP server to find certificate.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error Code Parameter.


Field Descriptions

Length of first series of bytes to verify The number of bytes, including the first byte in the series, to be included in the signature.

Length of next series of bytes to verify The number of bytes, including the first byte in the series, to be included in the signature.

Offset to start of first series of bytes to verify. An offset to the first byte of a series of 1 or more bytes of data to be included in the signature.

Pointer to start of next series of bytes to verify. An offset to the first byte of a series of 1 or more bytes of data to be included in the signature.


Error Messages

Message ID Error Message Text
CPFB724 E Option &2 of the operating system is required to work with object signatures.
CPFB731 E Certificate store not found.
CPFB735 E The digital signing API parameter &1 is not large enough.
CPFB736 E The digital signing API parameter &1 is not small enough.
CPFB737 E The digital signing API parameter &1 is a null pointer.
CPFB738 E The digital signing API parameter &1 is not a valid format type.
CPFB739 E The digital signing API parameter &1 is out of range.
CPFB73A E The password for the certificate key database needs to be set.
CPF9EA0 E Length of resulting signature area is too small to hold results.
CPF9EA1 E Signature parameter is not in a supported format.
CPF9EA0 E Length of resulting signature area is too small to hold results.
CPF9EA2 E Certificate is not in a supported format.
CPF9EA3 E Certificate with label &2 not found.
CPF9EA4 E Buffer has a signature that is not valid..
CPF9EAF E Attempt to sign or verify buffers failed with unexpected return code &1.


Introduced: V5R2


Top | Security APIs | APIs by category