fork-openpgpjs/doc/openpgp_packet_encryptedsessionkey.html

926 lines
19 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: openpgp_packet_encryptedsessionkey</title>
<script src="http://shjs.sourceforge.net/sh_main.min.js"> </script>
<script src="http://shjs.sourceforge.net/lang/sh_javascript.min.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/node-dark.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: openpgp_packet_encryptedsessionkey</h1>
<section>
<header>
<h2>
openpgp_packet_encryptedsessionkey
</h2>
<div class="class-description">Public-Key Encrypted Session Key Packets (Tag 1)
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>
</header>
<article>
<div class="container-overview">
<dt>
<h4 class="name" id="openpgp_packet_encryptedsessionkey"><span class="type-signature"></span>new openpgp_packet_encryptedsessionkey</h4>
</dt>
<dd>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 1542</li></ul></dd>
</dl>
</dd>
</div>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="decrypt"><span class="type-signature">&lt;inner> </span>decrypt</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>msg</code></td>
<td class="type">
<a href="openpgp_msg_message.html">openpgp_msg_message</a>
</td>
<td class="description last">the message object (with member encryptedData</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
<a href="openpgp_msg_privatekey.html">openpgp_msg_privatekey</a>
</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>openpgp.js, line 1673</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_pub_key_packet"><span class="type-signature">&lt;inner> </span>read_pub_key_packet</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">
string
</td>
<td class="description last">payload of a tag 1 packet</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
integer
</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">
integer
</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>openpgp.js, line 1553</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
object representation
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">openpgp_packet_encrypteddata</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="read_symmetric_key_packet"><span class="type-signature">&lt;inner> </span>read_symmetric_key_packet</h4>
</dt>
<dd>
<div class="description">
parsing function for a symmetric encrypted session key packet (tag 3).
</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">
string
</td>
<td class="description last">payload of a tag 1 packet</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
integer
</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">
integer
</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>openpgp.js, line 1641</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
object representation
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">openpgp_packet_encrypteddata</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="toString"><span class="type-signature">&lt;inner> </span>toString</h4>
</dt>
<dd>
<div class="description">
Creates a string representation of this object (useful for debug
purposes)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 1700</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
the string containing a openpgp description
</div>
</dd>
<dt>
<h4 class="name" id="write_pub_key_packet"><span class="type-signature">&lt;inner> </span>write_pub_key_packet</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">
String
</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">
Array[openpgp_type_mpi]
</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">
integer
</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">
integer
</td>
<td class="description last">the symmetric cipher algorithm used to encrypt the data within
an encrypteddatapacket or encryptedintegrityprotecteddatapacket
following this packet //See RFC4880 9.2</td>
</tr>
<tr>
<td class="name"><code>sessionkey</code></td>
<td class="type">
String
</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>openpgp.js, line 1610</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>Classes</h3><ul><li><a href="JXG.Util.html">Util</a></li><li><a href="_openpgp_packet.html">_openpgp_packet</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#MD5">MD5</a></li><li><a href="global.html#Uint8Array2str">Uint8Array2str</a></li><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#getCheckSum">getCheckSum</a></li><li><a href="global.html#getPGPMessageType">getPGPMessageType</a></li><li><a href="global.html#get_hashAlgorithmString">get_hashAlgorithmString</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#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_MDCSystemBytes">openpgp_crypto_MDCSystemBytes</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_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#str2Uint8Array">str2Uint8Array</a></li><li><a href="global.html#str2bin">str2bin</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</a> on Tue Sep 11 2012 21:45:27 GMT-0400 (EDT)
</footer>
<script> sh_highlightDocument(); </script>
</body>
</html>