ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qydovfyb.htm

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>
&nbsp;&nbsp;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>
&nbsp;&nbsp;Service Program Name: QYDOBUFFER<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;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 &amp;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 &amp;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 &amp;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 &amp;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 &amp;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 &amp;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 &amp;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 &amp;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>