fork-openpgpjs/doc/openpgp_packet_userid.html
Michal Kolodziej 23295342fc Added utf8 awareness to the literal and userid packet classes. Made s2k
work correctly with utf8 strings. Fixeda visibility issue with the
testing suite and added relevant unit tests.
2013-04-16 10:47:17 +02:00

1460 lines
24 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: openpgp_packet_userid</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: openpgp_packet_userid</h1>
<section>
<header>
<h2>
openpgp_packet_userid
</h2>
<div class="class-description">Implementation of the User ID Packet (Tag 13)
A User ID packet consists of UTF-8 text that is intended to represent
the name and email address of the key holder. By convention, it
includes an RFC 2822 [RFC2822] mail name-addr, but there are no
restrictions on its content. The packet length in the header
specifies the length of the User ID.</div>
</header>
<article>
<div class="container-overview">
<dt>
<h4 class="name" id="openpgp_packet_userid"><span class="type-signature"></span>new openpgp_packet_userid<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 28
</li></ul></dd>
</dl>
</dd>
</div>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="get_text_bytes"><span class="type-signature"></span>get_text_bytes<span class="signature">()</span><span class="type-signature"> &rarr; {String}</span></h4>
</dt>
<dd>
<div class="description">
Get the byte sequence representing the text of this packet.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 59
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
A sequence of bytes
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="hasCertificationRevocationSignature"><span class="type-signature"></span>hasCertificationRevocationSignature<span class="signature">(keyId)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
lookup function to find certification revocation signatures
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>keyId</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">string containing the key id of the issuer of this signature</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 205
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
a CertificationRevocationSignature if found; otherwise null
</div>
</dd>
<dt>
<h4 class="name" id="read_nodes"><span class="type-signature"></span>read_nodes<span class="signature">(parent_node, input, position, len)</span><span class="type-signature"> &rarr; {Integer}</span></h4>
</dt>
<dd>
<div class="description">
Continue parsing packets belonging to the userid packet such as signatures
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>parent_node</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">the parent object</td>
</tr>
<tr>
<td class="name"><code>input</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">input string to read the packet(s) from</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">start position for the parser</td>
</tr>
<tr>
<td class="name"><code>len</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">length of the packet(s) or remaining length of input</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 105
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
length of nodes read
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Integer</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="read_packet"><span class="type-signature"></span>read_packet<span class="signature">(input, position, len)</span><span class="type-signature"> &rarr; {<a href="openpgp_packet_encrypteddata.html">openpgp_packet_encrypteddata</a>}</span></h4>
</dt>
<dd>
<div class="description">
Parsing function for a user id packet (tag 13).
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>input</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">payload of a tag 13 packet</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">position to start reading from the input string</td>
</tr>
<tr>
<td class="name"><code>len</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">length of the packet or the remaining length of input at position</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 71
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
object representation
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="openpgp_packet_encrypteddata.html">openpgp_packet_encrypteddata</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="set_text"><span class="type-signature"></span>set_text<span class="signature">(str)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set the packet text field to a native javascript string
Conversion to a proper utf8 encoding takes place when the
packet is written.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">Any native javascript string</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 42
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="set_text_bytes"><span class="type-signature"></span>set_text_bytes<span class="signature">(bytes)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Set the packet text to value represented by the provided string
of bytes.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>bytes</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">A string of bytes</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 51
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="toString"><span class="type-signature"></span>toString<span class="signature">()</span><span class="type-signature"> &rarr; {String}</span></h4>
</dt>
<dd>
<div class="description">
generates debug output (pretty print)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 185
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
String which gives some information about the user id packet
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="verify"><span class="type-signature"></span>verify<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
verifies the signatures of the user id
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 346
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
0 if the userid is valid; 1 = userid expired; 2 = userid revoked
</div>
</dd>
<dt>
<h4 class="name" id="verifyCertificationSignatures"><span class="type-signature"></span>verifyCertificationSignatures<span class="signature">(publicKeyPacket)</span><span class="type-signature"> &rarr; {Integer[]}</span></h4>
</dt>
<dd>
<div class="description">
Verifies all certification signatures. This method does not consider possible revocation signatures.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>publicKeyPacket</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">the top level key material</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 228
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
An array of integers corresponding to the array of certification signatures. The meaning of each integer is the following:
0 = bad signature
1 = signature expired
2 = issuer key not available
3 = revoked
4 = signature valid
5 = signature by key owner expired
6 = signature by key owner revoked
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Integer[]</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="write_packet"><span class="type-signature"></span>write_packet<span class="signature">(user_id)</span><span class="type-signature"> &rarr; {String}</span></h4>
</dt>
<dd>
<div class="description">
Creates a string representation of the user id packet
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>user_id</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">the user id as string ("John Doe <john.doe@mail.us")</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="openpgp.packet.userid.js.html">packet/openpgp.packet.userid.js</a>, line 88
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
string representation
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Classes</h3><ul><li><a href="_openpgp_packet.html">_openpgp_packet</a></li><li><a href="JXG.Util.html">Util</a></li><li><a href="openpgp.html">openpgp</a></li><li><a href="openpgp_config.html">openpgp_config</a></li><li><a href="openpgp_keyring.html">openpgp_keyring</a></li><li><a href="openpgp_msg_message.html">openpgp_msg_message</a></li><li><a href="openpgp_msg_privatekey.html">openpgp_msg_privatekey</a></li><li><a href="openpgp_msg_publickey.html">openpgp_msg_publickey</a></li><li><a href="openpgp_packet_compressed.html">openpgp_packet_compressed</a></li><li><a href="openpgp_packet_encrypteddata.html">openpgp_packet_encrypteddata</a></li><li><a href="openpgp_packet_encryptedintegrityprotecteddata.html">openpgp_packet_encryptedintegrityprotecteddata</a></li><li><a href="openpgp_packet_encryptedsessionkey.html">openpgp_packet_encryptedsessionkey</a></li><li><a href="openpgp_packet_keymaterial.html">openpgp_packet_keymaterial</a></li><li><a href="openpgp_packet_literaldata.html">openpgp_packet_literaldata</a></li><li><a href="openpgp_packet_marker.html">openpgp_packet_marker</a></li><li><a href="openpgp_packet_modificationdetectioncode.html">openpgp_packet_modificationdetectioncode</a></li><li><a href="openpgp_packet_onepasssignature.html">openpgp_packet_onepasssignature</a></li><li><a href="openpgp_packet_signature.html">openpgp_packet_signature</a></li><li><a href="openpgp_packet_userattribute.html">openpgp_packet_userattribute</a></li><li><a href="openpgp_packet_userid.html">openpgp_packet_userid</a></li><li><a href="openpgp_type_keyid.html">openpgp_type_keyid</a></li><li><a href="openpgp_type_mpi.html">openpgp_type_mpi</a></li><li><a href="openpgp_type_s2k.html">openpgp_type_s2k</a></li></ul><h3>Global</h3><ul><li><a href="global.html#bin2str">bin2str</a></li><li><a href="global.html#calc_checksum">calc_checksum</a></li><li><a href="global.html#crc_table">crc_table</a></li><li><a href="global.html#decode_utf8">decode_utf8</a></li><li><a href="global.html#encode_utf8">encode_utf8</a></li><li><a href="global.html#get_hashAlgorithmString">get_hashAlgorithmString</a></li><li><a href="global.html#getCheckSum">getCheckSum</a></li><li><a href="global.html#getPGPMessageType">getPGPMessageType</a></li><li><a href="global.html#hash_headers">hash_headers</a></li><li><a href="global.html#hex2bin">hex2bin</a></li><li><a href="global.html#hexidump">hexidump</a></li><li><a href="global.html#hexstrdump">hexstrdump</a></li><li><a href="global.html#MD5">MD5</a></li><li><a href="global.html#openpgp_cfb_decrypt">openpgp_cfb_decrypt</a></li><li><a href="global.html#openpgp_cfb_encrypt">openpgp_cfb_encrypt</a></li><li><a href="global.html#openpgp_cfb_mdc">openpgp_cfb_mdc</a></li><li><a href="global.html#openpgp_crypto_asymetricDecrypt">openpgp_crypto_asymetricDecrypt</a></li><li><a href="global.html#openpgp_crypto_asymetricEncrypt">openpgp_crypto_asymetricEncrypt</a></li><li><a href="global.html#openpgp_crypto_generateKeyPair">openpgp_crypto_generateKeyPair</a></li><li><a href="global.html#openpgp_crypto_generateSessionKey">openpgp_crypto_generateSessionKey</a></li><li><a href="global.html#openpgp_crypto_getHashByteLength">openpgp_crypto_getHashByteLength</a></li><li><a href="global.html#openpgp_crypto_getPrefixRandom">openpgp_crypto_getPrefixRandom</a></li><li><a href="global.html#openpgp_crypto_getPseudoRandom">openpgp_crypto_getPseudoRandom</a></li><li><a href="global.html#openpgp_crypto_getRandomBigInteger">openpgp_crypto_getRandomBigInteger</a></li><li><a href="global.html#openpgp_crypto_getRandomBytes">openpgp_crypto_getRandomBytes</a></li><li><a href="global.html#openpgp_crypto_getSecureRandom">openpgp_crypto_getSecureRandom</a></li><li><a href="global.html#openpgp_crypto_hashData">openpgp_crypto_hashData</a></li><li><a href="global.html#openpgp_crypto_MDCSystemBytes">openpgp_crypto_MDCSystemBytes</a></li><li><a href="global.html#openpgp_crypto_signData">openpgp_crypto_signData</a></li><li><a href="global.html#openpgp_crypto_symmetricDecrypt">openpgp_crypto_symmetricDecrypt</a></li><li><a href="global.html#openpgp_crypto_symmetricEncrypt">openpgp_crypto_symmetricEncrypt</a></li><li><a href="global.html#openpgp_crypto_verifySignature">openpgp_crypto_verifySignature</a></li><li><a href="global.html#openpgp_encoding_armor">openpgp_encoding_armor</a></li><li><a href="global.html#openpgp_encoding_armor_addheader">openpgp_encoding_armor_addheader</a></li><li><a href="global.html#openpgp_encoding_base64_decode">openpgp_encoding_base64_decode</a></li><li><a href="global.html#openpgp_encoding_base64_encode">openpgp_encoding_base64_encode</a></li><li><a href="global.html#openpgp_encoding_deArmor">openpgp_encoding_deArmor</a></li><li><a href="global.html#openpgp_encoding_eme_pkcs1_decode">openpgp_encoding_eme_pkcs1_decode</a></li><li><a href="global.html#openpgp_encoding_eme_pkcs1_encode">openpgp_encoding_eme_pkcs1_encode</a></li><li><a href="global.html#openpgp_encoding_emsa_pkcs1_decode">openpgp_encoding_emsa_pkcs1_decode</a></li><li><a href="global.html#openpgp_encoding_emsa_pkcs1_encode">openpgp_encoding_emsa_pkcs1_encode</a></li><li><a href="global.html#openpgp_encoding_html_encode">openpgp_encoding_html_encode</a></li><li><a href="global.html#print_debug">print_debug</a></li><li><a href="global.html#print_debug_hexstr_dump">print_debug_hexstr_dump</a></li><li><a href="global.html#print_error">print_error</a></li><li><a href="global.html#print_info">print_info</a></li><li><a href="global.html#shiftRight">shiftRight</a></li><li><a href="global.html#str2bin">str2bin</a></li><li><a href="global.html#str2Uint8Array">str2Uint8Array</a></li><li><a href="global.html#Uint8Array2str">Uint8Array2str</a></li><li><a href="global.html#util">util</a></li><li><a href="global.html#verifyCheckSum">verifyCheckSum</a></li></ul>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0-dev</a> on Tue Apr 16 2013 10:42:42 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
</body>
</html>