412 lines
11 KiB
HTML
412 lines
11 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
|
<title>Verify Buffer (QYDOVFYB, QydoVerifyBuffer)</title>
|
|
<!-- Begin Header Records -->
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<!-- Change History: -->
|
|
<!-- YYMMDD USERID Change description -->
|
|
<!-- created by Harold Romo for V5R2 -->
|
|
<!-- Edited by Kersten Jan 02 -->
|
|
<!-- End Header Records -->
|
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
</head>
|
|
<body>
|
|
<a name="Top_Of_Page"></a>
|
|
<!-- Java sync-link -->
|
|
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
|
</script>
|
|
|
|
<h2>Verify Buffer (QYDOVFYB, QydoVerifyBuffer)</h2>
|
|
|
|
<div class="box" style="width: 80%;">
|
|
<br>
|
|
Required Parameter Group:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">1</td>
|
|
<td align="left" valign="top" width="50%">Buffer to verify</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2</td>
|
|
<td align="left" valign="top">Description of buffer to verify</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">3</td>
|
|
<td align="left" valign="top">Number of descriptions to verify</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Signature to verify</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">Length of signature to verify</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">6</td>
|
|
<td align="left" valign="top">Certificate to verify signature</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">7</td>
|
|
<td align="left" valign="top">Length of certificate to verify signature</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">Format of the certificate</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(8)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">9</td>
|
|
<td align="left" valign="top">Error Code</td>
|
|
<td align="left" valign="top">I/O</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Service Program Name: QYDOBUFFER<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: No<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>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.</p>
|
|
|
|
<br>
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<dl>
|
|
<dt><em>API Public Authority</em></dt>
|
|
|
|
<dd>*USE.<br>
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><em>Authority Required</em></dt>
|
|
|
|
<dd>None.</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Buffer to verify</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)<br>
|
|
<br>
|
|
<p>The buffer of data to be verified. Only the part of the object described in
|
|
the Description of buffer to sign will be verified.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Description of buffer to verify</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)<br>
|
|
<br>
|
|
<p>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.</p>
|
|
|
|
<p>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 <a href=
|
|
"#field_descript">Field Descriptions</a>.</p>
|
|
|
|
<table border width="70%">
|
|
<tr>
|
|
<th align="center" valign="bottom" colspan="2">Offset</th>
|
|
<th align="left" valign="bottom" rowspan="2">Type</th>
|
|
<th align="left" valign="bottom" rowspan="2">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="center" valign="bottom">Dec</th>
|
|
<th align="center" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">0</td>
|
|
<td align="center" valign="top" width="10%">0</td>
|
|
<td align="left" valign="top" width="20%">Binary(4)</td>
|
|
<td align="left" valign="top" width="60%">Offset to start of first series of
|
|
bytes to verify</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
<td align="left" valign="top">Length of first series of bytes to verify</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">n</td>
|
|
<td align="center" valign="top">n</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
<td align="left" valign="top">Offset to start of next series of bytes to
|
|
verify</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">n+4</td>
|
|
<td align="center" valign="top">n+4</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
<td align="left" valign="top">Length of next series of bytes to verify</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Number of descriptions to verify</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)<br>
|
|
<br>
|
|
<p>Number of offsets and lengths needed to describe data to be verified.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Signature to verify</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)<br>
|
|
<br>
|
|
<p>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.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Length of signature to verify</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)<br>
|
|
<br>
|
|
<p>Length of the specified signature.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Certificate to verify signature</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)<br>
|
|
<br>
|
|
<p>The certificate that was used to create the signature. This certificate must
|
|
be in the format described in the 'Format of the certificate' parameter.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Length of certificate to verify signature</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)<br>
|
|
<br>
|
|
<p>Length of the specified certificate.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Format of the certificate</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)<br>
|
|
<br>
|
|
<p>The format of the certificate to verify parameter:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>CERT0100</em></td>
|
|
<td align="left" valign="top">Certificate label. Uses *SIGNATUREVERIFICATION
|
|
certificate store to find certificate.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>CERT0200</em></td>
|
|
<td align="left" valign="top">ASN.1 encoded certificate. This is the
|
|
certificate itself.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>CERT0300</em></td>
|
|
<td align="left" valign="top">Distinguished name of certificate. Uses LDAP
|
|
server to find certificate.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Error code</strong></dt>
|
|
|
|
<dd>I/O; CHAR(*)
|
|
|
|
<p>The structure in which to return error information. For the format of the
|
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
<h3><a name="field_descript">Field Descriptions</a></h3>
|
|
|
|
<p><strong>Length of first series of bytes to verify</strong> The number of
|
|
bytes, including the first byte in the series, to be included in the
|
|
signature.</p>
|
|
|
|
<p><strong>Length of next series of bytes to verify</strong> The number of
|
|
bytes, including the first byte in the series, to be included in the
|
|
signature.</p>
|
|
|
|
<p><strong>Offset to start of first series of bytes to verify.</strong> An
|
|
offset to the first byte of a series of 1 or more bytes of data to be included
|
|
in the signature.</p>
|
|
|
|
<p><strong>Pointer to start of next series of bytes to verify.</strong> An
|
|
offset to the first byte of a series of 1 or more bytes of data to be included
|
|
in the signature.</p>
|
|
|
|
<br>
|
|
<h3>Error Messages</h3>
|
|
|
|
<table width="100%" cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<th align="left" valign="top">Message ID</th>
|
|
<th align="left" valign="top">Error Message Text</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="15%" valign="top">CPFB724 E</td>
|
|
<td width="85%" valign="top">Option &2 of the operating system is required
|
|
to work with object signatures.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB731 E</td>
|
|
<td align="left" valign="top">Certificate store not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB735 E</td>
|
|
<td align="left" valign="top">The digital signing API parameter &1 is not
|
|
large enough.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB736 E</td>
|
|
<td align="left" valign="top">The digital signing API parameter &1 is not
|
|
small enough.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB737 E</td>
|
|
<td align="left" valign="top">The digital signing API parameter &1 is a
|
|
null pointer.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB738 E</td>
|
|
<td align="left" valign="top">The digital signing API parameter &1 is not a
|
|
valid format type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB739 E</td>
|
|
<td align="left" valign="top">The digital signing API parameter &1 is out
|
|
of range.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFB73A E</td>
|
|
<td align="left" valign="top">The password for the certificate key database
|
|
needs to be set.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA0 E</td>
|
|
<td align="left" valign="top">Length of resulting signature area is too small
|
|
to hold results.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA1 E</td>
|
|
<td align="left" valign="top">Signature parameter is not in a supported
|
|
format.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA0 E</td>
|
|
<td align="left" valign="top">Length of resulting signature area is too small
|
|
to hold results.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA2 E</td>
|
|
<td align="left" valign="top">Certificate is not in a supported format.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA3 E</td>
|
|
<td align="left" valign="top">Certificate with label &2 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EA4 E</td>
|
|
<td align="left" valign="top">Buffer has a signature that is not valid..</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9EAF E</td>
|
|
<td align="left" valign="top">Attempt to sign or verify buffers failed with
|
|
unexpected return code &1.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<hr>
|
|
<p>Introduced: V5R2</p>
|
|
|
|
<hr>
|
|
<center>
|
|
<table cellpadding="2" cellspacing="2">
|
|
<tr align="center">
|
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
|
|
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</body>
|
|
</html>
|
|
|