fork-openpgpjs/doc/public_key_encrypted_session_key.html
2013-12-26 22:49:37 -08:00

842 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Module: packet/public_key_encrypted_session_key</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">Module: packet/public_key_encrypted_session_key</h1>
<section>
<header>
<h2>
packet/public_key_encrypted_session_key
</h2>
</header>
<article>
<div class="container-overview">
<div class="description">Public-Key Encrypted Session Key Packets (Tag 1)<br/>
<br/>
RFC4880 5.1: A Public-Key Encrypted Session Key packet holds the session key
used to encrypt a message. Zero or more Public-Key Encrypted Session Key
packets and/or Symmetric-Key Encrypted Session Key packets may precede a
Symmetrically Encrypted Data Packet, which holds an encrypted message. The
message is encrypted with the session key, and the session key is itself
encrypted and stored in the Encrypted Session Key packet(s). The
Symmetrically Encrypted Data Packet is preceded by one Public-Key Encrypted
Session Key packet for each OpenPGP key to which the message is encrypted.
The recipient of the message finds a session key that is encrypted to their
public key, decrypts the session key, and then uses the session key to
decrypt the message.</div>
<dt>
<h4 class="name" id="module:packet/public_key_encrypted_session_key"><span class="type-signature"></span>new (require("packet/public_key_encrypted_session_key"))<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="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line49">line 49</a>
</li></ul></dd>
</dl>
</dd>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line18">line 18</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Requires</h3>
<ul>
<li><a href="module-crypto.html">module:crypto</a></li>
<li><a href="module-enums.html">module:enums</a></li>
<li><a href="keyid.html">module:type/keyid</a></li>
<li><a href="mpi.html">module:type/mpi</a></li>
<li><a href="module-util.html">module:util</a></li>
</ul>
<h3 class="subsection-title">Members</h3>
<dl>
<dt>
<h4 class="name" id="encrypted"><span class="type-signature"></span>encrypted<span class="type-signature"> :Array.&lt;<a href="mpi.html">module:type/mpi</a>></span></h4>
</dt>
<dd>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.&lt;<a href="mpi.html">module:type/mpi</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line59">line 59</a>
</li></ul></dd>
</dl>
</dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="decrypt"><span class="type-signature"></span>decrypt<span class="signature">(key)</span><span class="type-signature"> &rarr; {String}</span></h4>
</dt>
<dd>
<div class="description">
Decrypts the session key (only for public key encrypted session key
packets (tag 1)
</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>key</code></td>
<td class="type">
<span class="param-type"><a href="secret_key.html">module:packet/secret_key</a></span>
</td>
<td class="description last">Private key with secMPIs unlocked</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line160">line 160</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
The unencrypted session key
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="read"><span class="type-signature"></span>read<span class="signature">(input, position, len)</span><span class="type-signature"> &rarr; {<a href="public_key_encrypted_session_key.html">module:packet/public_key_encrypted_session_key</a>}</span></h4>
</dt>
<dd>
<div class="description">
Parsing function for a publickey encrypted session key packet (tag 1).
</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 1 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="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line70">line 70</a>
</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="public_key_encrypted_session_key.html">module:packet/public_key_encrypted_session_key</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="write"><span class="type-signature"></span>write<span class="signature">(publicKeyId, publicMPIs, pubalgo, symmalgo, sessionkey)</span><span class="type-signature"> &rarr; {String}</span></h4>
</dt>
<dd>
<div class="description">
Create a string representation of a tag 1 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>publicKeyId</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The public key id corresponding to publicMPIs key as string</td>
</tr>
<tr>
<td class="name"><code>publicMPIs</code></td>
<td class="type">
<span class="param-type">Array.&lt;<a href="mpi.html">module:type/mpi</a>></span>
</td>
<td class="description last">Multiprecision integer objects describing the public key</td>
</tr>
<tr>
<td class="name"><code>pubalgo</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">The corresponding public key algorithm // See RFC4880 9.1</td>
</tr>
<tr>
<td class="name"><code>symmalgo</code></td>
<td class="type">
<span class="param-type">Integer</span>
</td>
<td class="description last">The symmetric cipher algorithm used to encrypt the data
within an encrypteddatapacket or encryptedintegrity-
protecteddatapacket
following this packet //See RFC4880 9.2</td>
</tr>
<tr>
<td class="name"><code>sessionkey</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">A string of randombytes representing the session key</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_key_encrypted_session_key.js.html">packet/public_key_encrypted_session_key.js</a>, <a href="public_key_encrypted_session_key.js.html#line119">line 119</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
The 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>Modules</h3><ul><li><a href="module-armor.html">armor</a></li><li><a href="module-cleartext.html">cleartext</a></li><li><a href="module-config.html">config</a></li><li><a href="config.html">config/config</a></li><li><a href="localStorage.html">config/localStorage</a></li><li><a href="module-crypto.html">crypto</a></li><li><a href="cfb.html">crypto/cfb</a></li><li><a href="cipher.html">crypto/cipher</a></li><li><a href="aes.html">crypto/cipher/aes</a></li><li><a href="blowfish.html">crypto/cipher/blowfish</a></li><li><a href="cast5.html">crypto/cipher/cast5</a></li><li><a href="des.html">crypto/cipher/des</a></li><li><a href="twofish.html">crypto/cipher/twofish</a></li><li><a href="crypto.html">crypto/crypto</a></li><li><a href="hash.html">crypto/hash</a></li><li><a href="md5.html">crypto/hash/md5</a></li><li><a href="ripe-md.html">crypto/hash/ripe-md</a></li><li><a href="sha.html">crypto/hash/sha</a></li><li><a href="pkcs1.html">crypto/pkcs1</a></li><li><a href="public_key.html">crypto/public_key</a></li><li><a href="dsa.html">crypto/public_key/dsa</a></li><li><a href="elgamal.html">crypto/public_key/elgamal</a></li><li><a href="jsbn.html">crypto/public_key/jsbn</a></li><li><a href="rsa.html">crypto/public_key/rsa</a></li><li><a href="random.html">crypto/random</a></li><li><a href="signature.html">crypto/signature</a></li><li><a href="armor.html">encoding/armor</a></li><li><a href="base64.html">encoding/base64</a></li><li><a href="module-enums.html">enums</a></li><li><a href="module-key.html">key</a></li><li><a href="module-keyid.html">keyid</a></li><li><a href="keyring.html">keyring/keyring</a></li><li><a href="localstore.html">keyring/localstore</a></li><li><a href="module-message.html">message</a></li><li><a href="module-mpi.html">mpi</a></li><li><a href="module-openpgp.html">openpgp</a></li><li><a href="module-packet.html">packet</a></li><li><a href="compressed.html">packet/compressed</a></li><li><a href="literal.html">packet/literal</a></li><li><a href="marker.html">packet/marker</a></li><li><a href="one_pass_signature.html">packet/one_pass_signature</a></li><li><a href="packet.html">packet/packet</a></li><li><a href="packetlist.html">packet/packetlist</a></li><li><a href="public_key_.html">packet/public_key</a></li><li><a href="public_key_encrypted_session_key.html">packet/public_key_encrypted_session_key</a></li><li><a href="public_subkey.html">packet/public_subkey</a></li><li><a href="secret_key.html">packet/secret_key</a></li><li><a href="secret_subkey.html">packet/secret_subkey</a></li><li><a href="signature_.html">packet/signature</a></li><li><a href="sym_encrypted_integrity_protected.html">packet/sym_encrypted_integrity_protected</a></li><li><a href="sym_encrypted_session_key.html">packet/sym_encrypted_session_key</a></li><li><a href="symmetrically_encrypted.html">packet/symmetrically_encrypted</a></li><li><a href="trust.html">packet/trust</a></li><li><a href="user_attribute.html">packet/user_attribute</a></li><li><a href="userid.html">packet/userid</a></li><li><a href="module-s2k.html">s2k</a></li><li><a href="keyid.html">type/keyid</a></li><li><a href="mpi.html">type/mpi</a></li><li><a href="s2k.html">type/s2k</a></li><li><a href="module-util.html">util</a></li><li><a href="util.html">util/util</a></li></ul><h3>Classes</h3><ul><li><a href="JXG.Util.html">Util</a></li><li><a href="module-cleartext-CleartextMessage.html">CleartextMessage</a></li><li><a href="module-key-Key.html">Key</a></li><li><a href="module-key-SubKey.html">SubKey</a></li><li><a href="module-key-User.html">User</a></li><li><a href="module-message-Message.html">Message</a></li></ul>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.0</a> on Thu Dec 26 2013 22:42:56 GMT-0800 (PST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>