Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

2.0.0 release

  • Loading branch information...
commit aa76317554e647fd9a037f3cdb78bfce76e3e191 1 parent 2951ca9
@kjur authored
View
6 ChangeLog.txt
@@ -1,5 +1,9 @@
-ChangeLog for jsrsasig
+ChangeLog for jsrsasign
+
+* Changes between 1.3.1 and 2.0.0 [Apr 14, 2013]
+ - newly added pkcs5pkey.js and PKCS5PKEY class to support
+ passcode encrypted PKCS#5 private key.
* Changes between 1.3 and 1.3.1 [Apr 14, 2013]
- rsapem.js updated to 1.1 to 1.1.1
View
15 README.md
@@ -1,7 +1,8 @@
-jsrsasign
-=========
-
-The 'jsrsasign' (RSA-Sign JavaScript Library) is a open source free pure JavaScript implementation of PKCS#1 v2.1 RSASSA-PKCS1-v1_5 RSA signing and validation algorithm.
-
-Public page is http://kjur.github.com/jsrsasign .
-
+jsrsasign
+=========
+
+The 'jsrsasign' (RSA-Sign JavaScript Library) is a open source free pure JavaScript implementation of PKCS#1 v2.1 RSASSA-PKCS1-v1_5 RSA signing and validation algorithm.
+
+Public page is http://kjur.github.com/jsrsasign .
+
+Your bugfix and pull request contribution are always welcomed :)
View
55 api/files.html 100644 → 100755
@@ -4,7 +4,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <title>jsrsasign 1.2 JavaScript API Reference - File Index</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - File Index</title>
<meta name="generator" content="JsDoc Toolkit" />
<style type="text/css">
@@ -175,7 +175,7 @@
<body>
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
@@ -190,6 +190,8 @@
<li><a href="symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="symbols/RSAKey.html">RSAKey</a></li>
<li><a href="symbols/X509.html">X509</a></li>
@@ -205,8 +207,34 @@ <h1 class="classTitle">File Index</h1>
<div>
<h2><a href="symbols/src/asn1hex-1.1.js.html">asn1hex-1.1.js</a></h2>
+
<dl>
+ <dt class="heading">Author:</dt>
+ <dd>Kenji Urushima kenji.urushima@gmail.com</dd>
+
+
+ <dt class="heading">Version:</dt>
+ <dd>1.1</dd>
+
+
+
+ </dl>
+ </div>
+ <hr />
+
+ <div>
+ <h2><a href="symbols/src/pkcs5pkey-1.0.js.html">pkcs5pkey-1.0.js</a></h2>
+
+
+ <dl>
+
+ <dt class="heading">Author:</dt>
+ <dd>Kenji Urushima kenji.urushima@gmail.com</dd>
+
+
+ <dt class="heading">Version:</dt>
+ <dd>1.0.0 (2013-Apr-14)</dd>
@@ -217,8 +245,15 @@ <h1 class="classTitle">File Index</h1>
<div>
<h2><a href="symbols/src/rsapem-1.1.js.html">rsapem-1.1.js</a></h2>
+
<dl>
+ <dt class="heading">Author:</dt>
+ <dd>Kenji Urushima kenji.urushima@gmail.com</dd>
+
+
+ <dt class="heading">Version:</dt>
+ <dd>1.1</dd>
@@ -229,8 +264,15 @@ <h1 class="classTitle">File Index</h1>
<div>
<h2><a href="symbols/src/rsasign-1.2.js.html">rsasign-1.2.js</a></h2>
+
<dl>
+ <dt class="heading">Author:</dt>
+ <dd>Kenji Urushima kenji.urushima@gmail.com</dd>
+
+
+ <dt class="heading">Version:</dt>
+ <dd>1.2</dd>
@@ -241,8 +283,15 @@ <h1 class="classTitle">File Index</h1>
<div>
<h2><a href="symbols/src/x509-1.1.js.html">x509-1.1.js</a></h2>
+
<dl>
+ <dt class="heading">Author:</dt>
+ <dd>Kenji Urushima kenji.urushima@gmail.com</dd>
+
+
+ <dt class="heading">Version:</dt>
+ <dd>1.1</dd>
@@ -254,7 +303,7 @@ <h1 class="classTitle">File Index</h1>
</div>
<div class="fineprint" style="clear:both">
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Fri May 11 2012 21:04:07 GMT+0900 (JST)
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
16 api/index.html 100644 → 100755
@@ -4,7 +4,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <title>jsrsasign 1.2 JavaScript API Reference - Index</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - Index</title>
<meta name="generator" content="JsDoc Toolkit" />
<style type="text/css">
@@ -175,7 +175,7 @@
<body>
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
@@ -190,6 +190,8 @@
<li><a href="symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="symbols/RSAKey.html">RSAKey</a></li>
<li><a href="symbols/X509.html">X509</a></li>
@@ -215,8 +217,14 @@ <h1 class="classTitle">Class Index</h1>
<hr />
<div>
+ <h2><a href="symbols/PKCS5PKEY.html">PKCS5PKEY</a></h2>
+ class for reading passcode protected PKCS#5 private key.
+ </div>
+ <hr />
+
+ <div>
<h2><a href="symbols/RSAKey.html">RSAKey</a></h2>
-
+ key of RSA public key algorithm
</div>
<hr />
@@ -230,7 +238,7 @@ <h1 class="classTitle">Class Index</h1>
</div>
<div class="fineprint" style="clear:both">
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Fri May 11 2012 21:04:07 GMT+0900 (JST)
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
8 api/symbols/ASN1HEX.html 100644 → 100755
@@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
- <title>jsrsasign 1.2 JavaScript API Reference - ASN1HEX</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - ASN1HEX</title>
<style type="text/css">
/* default.css */
@@ -177,7 +177,7 @@
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
<!-- end static/header.html -->
@@ -195,6 +195,8 @@
<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="../symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
<li><a href="../symbols/X509.html">X509</a></li>
@@ -1082,7 +1084,7 @@ <h1 class="classTitle">
<div class="fineprint" style="clear:both">
&copy; 2012 Kenji Urushima, All rights reserved<br/>
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Fri May 11 2012 21:04:07 GMT+0900 (JST)
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
650 api/symbols/PKCS5PKEY.html
@@ -0,0 +1,650 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta name="generator" content="JsDoc Toolkit" />
+
+ <title>jsrsasign 2.0.0 JavaScript API Reference - PKCS5PKEY</title>
+
+ <style type="text/css">
+ /* default.css */
+body
+{
+ font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
+ width: 800px;
+}
+
+.header
+{
+ clear: both;
+ background-color: #ccc;
+ padding: 8px;
+}
+
+h1
+{
+ font-size: 150%;
+ font-weight: bold;
+ padding: 0;
+ margin: 1em 0 0 .3em;
+}
+
+hr
+{
+ border: none 0;
+ border-top: 1px solid #7F8FB1;
+ height: 1px;
+}
+
+pre.code
+{
+ display: block;
+ padding: 8px;
+ border: 1px dashed #ccc;
+}
+
+#index
+{
+ margin-top: 24px;
+ float: left;
+ width: 160px;
+ position: absolute;
+ left: 8px;
+ background-color: #F3F3F3;
+ padding: 8px;
+}
+
+#content
+{
+ margin-left: 190px;
+ width: 600px;
+}
+
+.classList
+{
+ list-style-type: none;
+ padding: 0;
+ margin: 0 0 0 8px;
+ font-family: arial, sans-serif;
+ font-size: 1em;
+ overflow: auto;
+}
+
+.classList li
+{
+ padding: 0;
+ margin: 0 0 8px 0;
+}
+
+.summaryTable { width: 100%; }
+
+h1.classTitle
+{
+ font-size:170%;
+ line-height:130%;
+}
+
+h2 { font-size: 110%; }
+caption, div.sectionTitle
+{
+ background-color: #7F8FB1;
+ color: #fff;
+ font-size:130%;
+ text-align: left;
+ padding: 2px 6px 2px 6px;
+ border: 1px #7F8FB1 solid;
+}
+
+div.sectionTitle { margin-bottom: 8px; }
+.summaryTable thead { display: none; }
+
+.summaryTable td
+{
+ vertical-align: top;
+ padding: 4px;
+ border-bottom: 1px #7F8FB1 solid;
+ border-right: 1px #7F8FB1 solid;
+}
+
+/*col#summaryAttributes {}*/
+.summaryTable td.attributes
+{
+ border-left: 1px #7F8FB1 solid;
+ width: 140px;
+ text-align: right;
+}
+
+td.attributes, .fixedFont
+{
+ line-height: 15px;
+ color: #002EBE;
+ font-family: "Courier New",Courier,monospace;
+ font-size: 13px;
+}
+
+.summaryTable td.nameDescription
+{
+ text-align: left;
+ font-size: 13px;
+ line-height: 15px;
+}
+
+.summaryTable td.nameDescription, .description
+{
+ line-height: 15px;
+ padding: 4px;
+ padding-left: 4px;
+}
+
+.summaryTable { margin-bottom: 8px; }
+
+ul.inheritsList
+{
+ list-style: square;
+ margin-left: 20px;
+ padding-left: 0;
+}
+
+.detailList {
+ margin-left: 20px;
+ line-height: 15px;
+}
+.detailList dt { margin-left: 20px; }
+
+.detailList .heading
+{
+ font-weight: bold;
+ padding-bottom: 6px;
+ margin-left: 0;
+}
+
+.light, td.attributes, .light a:link, .light a:visited
+{
+ color: #777;
+ font-style: italic;
+}
+
+.fineprint
+{
+ text-align: right;
+ font-size: 10px;
+}
+ </style>
+ </head>
+
+ <body>
+<!-- ============================== header ================================= -->
+ <!-- begin static/header.html -->
+ <div id="header" style="background: #7F8FB1; color: white; margin: -10px">
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
+</div>
+
+ <!-- end static/header.html -->
+
+<!-- ============================== classes index ============================ -->
+ <div id="index">
+ <!-- begin publish.classesIndex -->
+ <div align="center"><a href="../index.html">Class Index</a>
+| <a href="../files.html">File Index</a></div>
+<hr />
+<h2>Classes</h2>
+<ul class="classList">
+
+ <li><i><a href="../symbols/global__.html">global__</a></i></li>
+
+ <li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
+
+ <li><a href="../symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
+ <li><a href="../symbols/RSAKey.html">RSAKey</a></li>
+
+ <li><a href="../symbols/X509.html">X509</a></li>
+
+</ul>
+<hr />
+ <!-- end publish.classesIndex -->
+ </div>
+
+ <div id="content">
+<!-- ============================== class title ============================ -->
+ <h1 class="classTitle">
+
+ Class PKCS5PKEY
+ </h1>
+
+<!-- ============================== class summary ========================== -->
+ <p class="description">
+
+
+
+ class for reading passcode protected PKCS#5 private key.
+
+
+ <br /><i>Defined in: </i> <a href="../symbols/src/pkcs5pkey-1.0.js.html">pkcs5pkey-1.0.js</a>.
+
+ </p>
+
+<!-- ============================== constructor summary ==================== -->
+
+ <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class PKCS5PKEY.">
+ <caption>Class Summary</caption>
+ <thead>
+ <tr>
+ <th scope="col">Constructor Attributes</th>
+ <th scope="col">Constructor Name and Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="attributes">&nbsp;</td>
+ <td class="nameDescription" >
+ <div class="fixedFont">
+ <b><a href="../symbols/PKCS5PKEY.html#constructor">PKCS5PKEY</a></b>()
+ </div>
+ <div class="description">passcode protected PKCS#5 private key reader class.</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+<!-- ============================== properties summary ===================== -->
+
+
+
+ <table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class PKCS5PKEY.">
+ <caption>Field Summary</caption>
+ <thead>
+ <tr>
+ <th scope="col">Field Attributes</th>
+ <th scope="col">Field Name and Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="attributes">&lt;static&gt; &nbsp;</td>
+ <td class="nameDescription">
+ <div class="fixedFont">
+ PKCS5PKEY.<b><a href="../symbols/PKCS5PKEY.html#.version">version</a></b>
+ </div>
+ <div class="description">decrypt private key by shared key
+version string of PKCS5PKEY class</div>
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+
+
+
+<!-- ============================== methods summary ======================== -->
+
+
+
+ <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class PKCS5PKEY.">
+ <caption>Method Summary</caption>
+ <thead>
+ <tr>
+ <th scope="col">Method Attributes</th>
+ <th scope="col">Method Name and Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="attributes">&lt;static&gt; &nbsp;</td>
+ <td class="nameDescription">
+ <div class="fixedFont">PKCS5PKEY.<b><a href="../symbols/PKCS5PKEY.html#.getDecryptedKeyHex">getDecryptedKeyHex</a></b>(sEncryptedPEM, passcode)
+ </div>
+ <div class="description">decrypt PEM formatted protected PKCS#5 private key with passcode</div>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="attributes">&lt;static&gt; &nbsp;</td>
+ <td class="nameDescription">
+ <div class="fixedFont">PKCS5PKEY.<b><a href="../symbols/PKCS5PKEY.html#.getDecryptedKeyHexByKeyIV">getDecryptedKeyHexByKeyIV</a></b>(encryptedKeyHex, algName, sharedKeyHex, ivHex)
+ </div>
+ <div class="description">decrypt private key by shared key</div>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="attributes">&lt;static&gt; &nbsp;</td>
+ <td class="nameDescription">
+ <div class="fixedFont">PKCS5PKEY.<b><a href="../symbols/PKCS5PKEY.html#.getKeyAndUnusedIvByPasscodeAndIvsalt">getKeyAndUnusedIvByPasscodeAndIvsalt</a></b>(algName, passcode, hexadecimal)
+ </div>
+ <div class="description">the same function as OpenSSL EVP_BytsToKey to generate shared key and IV</div>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="attributes">&lt;static&gt; &nbsp;</td>
+ <td class="nameDescription">
+ <div class="fixedFont">PKCS5PKEY.<b><a href="../symbols/PKCS5PKEY.html#.parsePKCS5PEM">parsePKCS5PEM</a></b>(sEncryptedPEM)
+ </div>
+ <div class="description">parse PEM formatted passcode protected PKCS#5 private key
+Resulted hash has following attributes.</div>
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+
+
+<!-- ============================== events summary ======================== -->
+
+
+<!-- ============================== constructor details ==================== -->
+
+ <div class="details"><a name="constructor"> </a>
+ <div class="sectionTitle">
+ Class Detail
+ </div>
+
+ <div class="fixedFont">
+ <b>PKCS5PKEY</b>()
+ </div>
+
+ <div class="description">
+ passcode protected PKCS#5 private key reader class.
+Currently supports only RSA private key and
+following symmetric key algorithms to protect private key.
+<ul>
+<li>DES-EDE3-CBC</li>
+<li>AES-256-CBC</li>
+<li>AES-192-CBC</li>
+<li>AES-128-CBC</li>
+</ul>
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+ </div>
+
+
+<!-- ============================== field details ========================== -->
+
+ <div class="sectionTitle">
+ Field Detail
+ </div>
+
+ <a name=".version"> </a>
+ <div class="fixedFont">&lt;static&gt;
+
+
+ <span class="light">PKCS5PKEY.</span><b>version</b>
+
+ </div>
+ <div class="description">
+ decrypt private key by shared key
+version string of PKCS5PKEY class
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ============================== method details ========================= -->
+
+ <div class="sectionTitle">
+ Method Detail
+ </div>
+
+ <a name=".getDecryptedKeyHex"> </a>
+ <div class="fixedFont">&lt;static&gt;
+
+ <span class="light">{String}</span>
+ <span class="light">PKCS5PKEY.</span><b>getDecryptedKeyHex</b>(sEncryptedPEM, passcode)
+
+ </div>
+ <div class="description">
+ decrypt PEM formatted protected PKCS#5 private key with passcode
+
+
+ </div>
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Parameters:</dt>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>sEncryptedPEM</b>
+
+ </dt>
+ <dd>PEM formatted protected passcode protected PKCS#5 private key</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>passcode</b>
+
+ </dt>
+ <dd>passcode to decrypt private key (ex. 'password')</dd>
+
+ </dl>
+
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Returns:</dt>
+
+ <dd><span class="light fixedFont">{String}</span> hexadecimal string of decrypted RSA priavte key</dd>
+
+ </dl>
+
+
+
+
+ <hr />
+
+ <a name=".getDecryptedKeyHexByKeyIV"> </a>
+ <div class="fixedFont">&lt;static&gt;
+
+ <span class="light">{String}</span>
+ <span class="light">PKCS5PKEY.</span><b>getDecryptedKeyHexByKeyIV</b>(encryptedKeyHex, algName, sharedKeyHex, ivHex)
+
+ </div>
+ <div class="description">
+ decrypt private key by shared key
+
+
+ </div>
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Parameters:</dt>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>encryptedKeyHex</b>
+
+ </dt>
+ <dd>hexadecimal string of encrypted private key</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>algName</b>
+
+ </dt>
+ <dd>name of symmetric key algorithm (ex. 'DES-EBE3-CBC')</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>sharedKeyHex</b>
+
+ </dt>
+ <dd>hexadecimal string of symmetric key</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>ivHex</b>
+
+ </dt>
+ <dd>hexadecimal string of initial vector(IV).</dd>
+
+ </dl>
+
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Returns:</dt>
+
+ <dd><span class="light fixedFont">{String}</span> hexadecimal string of decrypted privated key</dd>
+
+ </dl>
+
+
+
+
+ <hr />
+
+ <a name=".getKeyAndUnusedIvByPasscodeAndIvsalt"> </a>
+ <div class="fixedFont">&lt;static&gt;
+
+ <span class="light">{Hash}</span>
+ <span class="light">PKCS5PKEY.</span><b>getKeyAndUnusedIvByPasscodeAndIvsalt</b>(algName, passcode, hexadecimal)
+
+ </div>
+ <div class="description">
+ the same function as OpenSSL EVP_BytsToKey to generate shared key and IV
+
+
+ </div>
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Parameters:</dt>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>algName</b>
+
+ </dt>
+ <dd>name of symmetric key algorithm (ex. 'DES-EBE3-CBC')</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>passcode</b>
+
+ </dt>
+ <dd>passcode to decrypt private key (ex. 'password')</dd>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>hexadecimal</b>
+
+ </dt>
+ <dd>string of IV. heading 8 bytes will be used for passcode salt</dd>
+
+ </dl>
+
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Returns:</dt>
+
+ <dd><span class="light fixedFont">{Hash}</span> hash of key and unused IV (ex. {keyhex:2fe3..., ivhex:3fad..})</dd>
+
+ </dl>
+
+
+
+
+ <hr />
+
+ <a name=".parsePKCS5PEM"> </a>
+ <div class="fixedFont">&lt;static&gt;
+
+ <span class="light">{Hash}</span>
+ <span class="light">PKCS5PKEY.</span><b>parsePKCS5PEM</b>(sEncryptedPEM)
+
+ </div>
+ <div class="description">
+ parse PEM formatted passcode protected PKCS#5 private key
+Resulted hash has following attributes.
+<ul>
+<li>cipher - symmetric key algorithm name (ex. 'DES-EBE3-CBC', 'AES-256-CBC')</li>
+<li>ivsalt - IV used for decrypt. Its heading 8 bytes will be used for passcode salt.</li>
+<li>type - asymmetric key algorithm name of private key described in PEM header.</li>
+<li>data - base64 encoded encrypted private key.</li>
+</ul>
+
+
+ </div>
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Parameters:</dt>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>sEncryptedPEM</b>
+
+ </dt>
+ <dd>PEM formatted protected passcode protected PKCS#5 private key</dd>
+
+ </dl>
+
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Returns:</dt>
+
+ <dd><span class="light fixedFont">{Hash}</span> hash of key information</dd>
+
+ </dl>
+
+
+
+
+
+
+
+
+<!-- ============================== event details ========================= -->
+
+
+ <hr />
+ </div>
+
+
+<!-- ============================== footer ================================= -->
+ <div class="fineprint" style="clear:both">
+ &copy; 2012 Kenji Urushima, All rights reserved<br/>
+
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
+ </div>
+ </body>
+</html>
View
67 api/symbols/RSAKey.html 100644 → 100755
@@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
- <title>jsrsasign 1.2 JavaScript API Reference - RSAKey</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - RSAKey</title>
<style type="text/css">
/* default.css */
@@ -177,7 +177,7 @@
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
<!-- end static/header.html -->
@@ -195,6 +195,8 @@
<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="../symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
<li><a href="../symbols/X509.html">X509</a></li>
@@ -216,7 +218,7 @@ <h1 class="classTitle">
-
+ key of RSA public key algorithm
<br /><i>Defined in: </i> <a href="../symbols/src/rsasign-1.2.js.html">rsasign-1.2.js</a>.
@@ -267,6 +269,15 @@ <h1 class="classTitle">
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
+ <div class="fixedFont"><b><a href="../symbols/RSAKey.html#readPrivateKeyFromASN1HexString">readPrivateKeyFromASN1HexString</a></b>(keyHex)
+ </div>
+ <div class="description">read RSA private key from a ASN.1 hexadecimal string</div>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="attributes">&nbsp;</td>
+ <td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/RSAKey.html#readPrivateKeyFromPEMString">readPrivateKeyFromPEMString</a></b>(keyPEM)
</div>
<div class="description">read PKCS#1 private key from a string</div>
@@ -339,6 +350,51 @@ <h1 class="classTitle">
Method Detail
</div>
+ <a name="readPrivateKeyFromASN1HexString"> </a>
+ <div class="fixedFont">
+
+
+ <b>readPrivateKeyFromASN1HexString</b>(keyHex)
+
+ </div>
+ <div class="description">
+ read RSA private key from a ASN.1 hexadecimal string
+
+ <br />
+ <i>Defined in: </i> <a href="../symbols/src/rsapem-1.1.js.html">rsapem-1.1.js</a>.
+
+
+ </div>
+
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Parameters:</dt>
+
+ <dt>
+ <span class="light fixedFont">{String}</span> <b>keyHex</b>
+
+ </dt>
+ <dd>ASN.1 hexadecimal string of PKCS#1 private key.</dd>
+
+ </dl>
+
+
+
+ <dl class="detailList">
+ <dt class="heading">Since:</dt>
+ <dd>1.1.1</dd>
+ </dl>
+ </dl>
+
+
+
+
+
+
+ <hr />
+
<a name="readPrivateKeyFromPEMString"> </a>
<div class="fixedFont">
@@ -456,7 +512,8 @@ <h1 class="classTitle">
<span class="light fixedFont">{String}</span> <b>hSig</b>
</dt>
- <dd>hexadecimal string of siganture.<br/>
+ <dd>hexadecimal string of siganture.<br/>
+ non-hexadecimal charactors including new lines will be ignored.</dd>
</dl>
@@ -489,7 +546,7 @@ <h1 class="classTitle">
<div class="fineprint" style="clear:both">
&copy; 2012 Kenji Urushima, All rights reserved<br/>
-
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
8 api/symbols/X509.html 100644 → 100755
@@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
- <title>jsrsasign 1.2 JavaScript API Reference - X509</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - X509</title>
<style type="text/css">
/* default.css */
@@ -177,7 +177,7 @@
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
<!-- end static/header.html -->
@@ -195,6 +195,8 @@
<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="../symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
<li><a href="../symbols/X509.html">X509</a></li>
@@ -768,7 +770,7 @@ <h1 class="classTitle">
<div class="fineprint" style="clear:both">
&copy; 2012 Kenji Urushima, All rights reserved<br/>
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Fri May 11 2012 21:04:07 GMT+0900 (JST)
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
15 api/symbols/global__.html 100644 → 100755
@@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
- <title>jsrsasign 1.2 JavaScript API Reference - global__</title>
+ <title>jsrsasign 2.0.0 JavaScript API Reference - global__</title>
<style type="text/css">
/* default.css */
@@ -177,7 +177,7 @@
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
-&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 1.2 JavaScript API Reference
+&nbsp; <b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> 2.0.0 JavaScript API Reference
</div>
<!-- end static/header.html -->
@@ -195,6 +195,8 @@
<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
+ <li><a href="../symbols/PKCS5PKEY.html">PKCS5PKEY</a></li>
+
<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
<li><a href="../symbols/X509.html">X509</a></li>
@@ -287,7 +289,9 @@ <h1 class="classTitle">
</div>
<div class="description">
- Array of head part of hexadecimal DigestInfo value for hash algorithms.
+ Array of head part of hexadecimal DigestInfo value for hash algorithms.
+You can add any DigestInfo hash algorith for signing.
+See PKCS#1 v2.1 spec (p38).
<br />
<i>Defined in: </i> <a href="../symbols/src/rsasign-1.2.js.html">rsasign-1.2.js</a>.
@@ -312,7 +316,8 @@ <h1 class="classTitle">
</div>
<div class="description">
- </div>
+ Array of functions which calculate hash and returns it as hexadecimal.
+You can add any hash algorithm implementations.
<br />
<i>Defined in: </i> <a href="../symbols/src/rsasign-1.2.js.html">rsasign-1.2.js</a>.
@@ -345,7 +350,7 @@ <h1 class="classTitle">
<div class="fineprint" style="clear:both">
&copy; 2012 Kenji Urushima, All rights reserved<br/>
- <div class="fineprint" style="clear:both">
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sun Apr 14 2013 17:32:45 GMT+0900 (JST)
</div>
</body>
</html>
View
569 api/symbols/src/asn1hex-1.1.js.html 100644 → 100755
@@ -5,283 +5,292 @@
.STRN {color: #393;}
.REGX {color: #339;}
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
- </style></head><body><pre><span class='line'> 1</span> <span class="COMM">/*! asn1hex-1.1.js (c) 2012 Kenji Urushima | kjur.github.com/jsrsasign/license
-<span class='line'> 2</span> */</span><span class="WHIT">
-<span class='line'> 3</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 4</span> </span><span class="COMM">// asn1hex.js - Hexadecimal represented ASN.1 string library</span><span class="WHIT">
-<span class='line'> 5</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 6</span> </span><span class="COMM">// version: 1.1 (09-May-2012)</span><span class="WHIT">
-<span class='line'> 7</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 8</span> </span><span class="COMM">// Copyright (c) 2010-2012 Kenji Urushima (kenji.urushima@gmail.com)</span><span class="WHIT">
-<span class='line'> 9</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 10</span> </span><span class="COMM">// This software is licensed under the terms of the MIT License.</span><span class="WHIT">
-<span class='line'> 11</span> </span><span class="COMM">// http://kjur.github.com/jsrsasign/license/</span><span class="WHIT">
-<span class='line'> 12</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 13</span> </span><span class="COMM">// The above copyright and license notice shall be </span><span class="WHIT">
-<span class='line'> 14</span> </span><span class="COMM">// included in all copies or substantial portions of the Software.</span><span class="WHIT">
-<span class='line'> 15</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 16</span> </span><span class="COMM">// Depends on:</span><span class="WHIT">
-<span class='line'> 17</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 18</span>
-<span class='line'> 19</span> </span><span class="COMM">// MEMO:</span><span class="WHIT">
-<span class='line'> 20</span> </span><span class="COMM">// f('3082025b02...', 2) ... 82025b ... 3bytes</span><span class="WHIT">
-<span class='line'> 21</span> </span><span class="COMM">// f('020100', 2) ... 01 ... 1byte</span><span class="WHIT">
-<span class='line'> 22</span> </span><span class="COMM">// f('0203001...', 2) ... 03 ... 1byte</span><span class="WHIT">
-<span class='line'> 23</span> </span><span class="COMM">// f('02818003...', 2) ... 8180 ... 2bytes</span><span class="WHIT">
-<span class='line'> 24</span> </span><span class="COMM">// f('3080....0000', 2) ... 80 ... -1</span><span class="WHIT">
-<span class='line'> 25</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 26</span> </span><span class="COMM">// Requirements:</span><span class="WHIT">
-<span class='line'> 27</span> </span><span class="COMM">// - ASN.1 type octet length MUST be 1. </span><span class="WHIT">
-<span class='line'> 28</span> </span><span class="COMM">// (i.e. ASN.1 primitives like SET, SEQUENCE, INTEGER, OCTETSTRING ...)</span><span class="WHIT">
-<span class='line'> 29</span> </span><span class="COMM">// - </span><span class="WHIT">
-<span class='line'> 30</span> </span><span class="COMM">/**
-<span class='line'> 31</span> * get byte length for ASN.1 L(length) bytes
-<span class='line'> 32</span> * @name getByteLengthOfL_AtObj
-<span class='line'> 33</span> * @memberOf ASN1HEX
-<span class='line'> 34</span> * @function
-<span class='line'> 35</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'> 36</span> * @param {Number} pos string index
-<span class='line'> 37</span> * @return byte length for ASN.1 L(length) bytes
-<span class='line'> 38</span> */</span><span class="WHIT">
-<span class='line'> 39</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 40</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'8'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 41</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 42</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// length octet '80' indefinite length</span><span class="WHIT">
-<span class='line'> 43</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// including '8?' octet;</span><span class="WHIT">
-<span class='line'> 44</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// malformed format</span><span class="WHIT">
-<span class='line'> 45</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 46</span>
-<span class='line'> 47</span>
-<span class='line'> 48</span> </span><span class="COMM">/**
-<span class='line'> 49</span> * get hexadecimal string for ASN.1 L(length) bytes
-<span class='line'> 50</span> * @name getHexOfL_AtObj
-<span class='line'> 51</span> * @memberOf ASN1HEX
-<span class='line'> 52</span> * @function
-<span class='line'> 53</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'> 54</span> * @param {Number} pos string index
-<span class='line'> 55</span> * @return {String} hexadecimal string for ASN.1 L(length) bytes
-<span class='line'> 56</span> */</span><span class="WHIT">
-<span class='line'> 57</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 58</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 59</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 60</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 61</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 62</span>
-<span class='line'> 63</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 64</span> </span><span class="COMM">// getting ASN.1 length value at the position 'idx' of</span><span class="WHIT">
-<span class='line'> 65</span> </span><span class="COMM">// hexa decimal string 's'.</span><span class="WHIT">
-<span class='line'> 66</span> </span><span class="COMM">//</span><span class="WHIT">
-<span class='line'> 67</span> </span><span class="COMM">// f('3082025b02...', 0) ... 82025b ... ???</span><span class="WHIT">
-<span class='line'> 68</span> </span><span class="COMM">// f('020100', 0) ... 01 ... 1</span><span class="WHIT">
-<span class='line'> 69</span> </span><span class="COMM">// f('0203001...', 0) ... 03 ... 3</span><span class="WHIT">
-<span class='line'> 70</span> </span><span class="COMM">// f('02818003...', 0) ... 8180 ... 128</span><span class="WHIT">
-<span class='line'> 71</span> </span><span class="COMM">/**
-<span class='line'> 72</span> * get integer value of ASN.1 length for ASN.1 data
-<span class='line'> 73</span> * @name getIntOfL_AtObj
-<span class='line'> 74</span> * @memberOf ASN1HEX
-<span class='line'> 75</span> * @function
-<span class='line'> 76</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'> 77</span> * @param {Number} pos string index
-<span class='line'> 78</span> * @return ASN.1 L(length) integer value
-<span class='line'> 79</span> */</span><span class="WHIT">
-<span class='line'> 80</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getIntOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 81</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hLength</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 82</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">hLength</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 83</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bi</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 84</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">hLength.substring</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">8</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 85</span> </span><span class="WHIT"> </span><span class="NAME">bi</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseBigInt</span><span class="PUNC">(</span><span class="NAME">hLength</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">16</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 86</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'> 87</span> </span><span class="WHIT"> </span><span class="NAME">bi</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseBigInt</span><span class="PUNC">(</span><span class="NAME">hLength.substring</span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">16</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 88</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 89</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">bi.intValue</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'> 90</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'> 91</span>
-<span class='line'> 92</span> </span><span class="COMM">/**
-<span class='line'> 93</span> * get ASN.1 value starting string position for ASN.1 object refered by index 'idx'.
-<span class='line'> 94</span> * @name getStartPosOfV_AtObj
-<span class='line'> 95</span> * @memberOf ASN1HEX
-<span class='line'> 96</span> * @function
-<span class='line'> 97</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'> 98</span> * @param {Number} pos string index
-<span class='line'> 99</span> */</span><span class="WHIT">
-<span class='line'>100</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getStartPosOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>101</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">l_len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>102</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">l_len</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">l_len</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>103</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">l_len</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>104</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>105</span>
-<span class='line'>106</span> </span><span class="COMM">/**
-<span class='line'>107</span> * get hexadecimal string of ASN.1 V(value)
-<span class='line'>108</span> * @name getHexOfV_AtObj
-<span class='line'>109</span> * @memberOf ASN1HEX
-<span class='line'>110</span> * @function
-<span class='line'>111</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'>112</span> * @param {Number} pos string index
-<span class='line'>113</span> * @return {String} hexadecimal string of ASN.1 value.
-<span class='line'>114</span> */</span><span class="WHIT">
-<span class='line'>115</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>116</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pos1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getStartPosOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>117</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getIntOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>118</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>119</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>120</span>
-<span class='line'>121</span> </span><span class="COMM">/**
-<span class='line'>122</span> * get hexadecimal string of ASN.1 TLV at
-<span class='line'>123</span> * @name getHexOfTLV_AtObj
-<span class='line'>124</span> * @memberOf ASN1HEX
-<span class='line'>125</span> * @function
-<span class='line'>126</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'>127</span> * @param {Number} pos string index
-<span class='line'>128</span> * @return {String} hexadecimal string of ASN.1 TLV.
-<span class='line'>129</span> * @since 1.1
-<span class='line'>130</span> */</span><span class="WHIT">
-<span class='line'>131</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfTLV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>132</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">s.substr</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>133</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hL</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>134</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>135</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">hT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hV</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>136</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>137</span>
-<span class='line'>138</span> </span><span class="COMM">/**
-<span class='line'>139</span> * get next sibling starting index for ASN.1 object string
-<span class='line'>140</span> * @name getPosOfNextSibling_AtObj
-<span class='line'>141</span> * @memberOf ASN1HEX
-<span class='line'>142</span> * @function
-<span class='line'>143</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'>144</span> * @param {Number} pos string index
-<span class='line'>145</span> * @return next sibling starting index for ASN.1 object string
-<span class='line'>146</span> */</span><span class="WHIT">
-<span class='line'>147</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosOfNextSibling_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>148</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pos1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getStartPosOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>149</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getIntOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>150</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">pos1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>151</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>152</span>
-<span class='line'>153</span> </span><span class="COMM">/**
-<span class='line'>154</span> * get array of indexes of child ASN.1 objects
-<span class='line'>155</span> * @name getPosArrayOfChildren_AtObj
-<span class='line'>156</span> * @memberOf ASN1HEX
-<span class='line'>157</span> * @function
-<span class='line'>158</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
-<span class='line'>159</span> * @param {Number} start string index of ASN.1 object
-<span class='line'>160</span> * @return {Array of Number} array of indexes for childen of ASN.1 objects
-<span class='line'>161</span> */</span><span class="WHIT">
-<span class='line'>162</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosArrayOfChildren_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>163</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Array</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>164</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">p0</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getStartPosOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>165</span> </span><span class="WHIT"> </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">p0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>166</span>
-<span class='line'>167</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getIntOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>168</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p0</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>169</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>170</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>171</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pNext</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosOfNextSibling_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>172</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pNext</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pNext</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">p0</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>173</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">200</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>174</span>
-<span class='line'>175</span> </span><span class="WHIT"> </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">pNext</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>176</span> </span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pNext</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>177</span>
-<span class='line'>178</span> </span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>179</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>180</span>
-<span class='line'>181</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>182</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>183</span>
-<span class='line'>184</span> </span><span class="COMM">/**
-<span class='line'>185</span> * get string index of nth child object of ASN.1 object refered by h, idx
-<span class='line'>186</span> * @name getNthChildIndex_AtObj
-<span class='line'>187</span> * @memberOf ASN1HEX
-<span class='line'>188</span> * @function
-<span class='line'>189</span> * @param {String} h hexadecimal string of ASN.1 DER encoded data
-<span class='line'>190</span> * @param {Number} idx start string index of ASN.1 object
-<span class='line'>191</span> * @param {Number} nth for child
-<span class='line'>192</span> * @return {Number} string index of nth child.
-<span class='line'>193</span> * @since 1.1
-<span class='line'>194</span> */</span><span class="WHIT">
-<span class='line'>195</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getNthChildIndex_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>196</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosArrayOfChildren_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>197</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">nth</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>198</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>199</span>
-<span class='line'>200</span> </span><span class="COMM">// ========== decendant methods ==============================</span><span class="WHIT">
-<span class='line'>201</span>
-<span class='line'>202</span> </span><span class="COMM">/**
-<span class='line'>203</span> * get string index of nth child object of ASN.1 object refered by h, idx
-<span class='line'>204</span> * @name getDecendantIndexByNthList
-<span class='line'>205</span> * @memberOf ASN1HEX
-<span class='line'>206</span> * @function
-<span class='line'>207</span> * @param {String} h hexadecimal string of ASN.1 DER encoded data
-<span class='line'>208</span> * @param {Number} currentIndex start string index of ASN.1 object
-<span class='line'>209</span> * @param {Array of Number} nthList array list of nth
-<span class='line'>210</span> * @return {Number} string index refered by nthList
-<span class='line'>211</span> * @since 1.1
-<span class='line'>212</span> */</span><span class="WHIT">
-<span class='line'>213</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantIndexByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>214</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">nthList.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>215</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>216</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>217</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">firstNth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nthList.shift</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>218</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosArrayOfChildren_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>219</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantIndexByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">firstNth</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>220</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>221</span>
-<span class='line'>222</span> </span><span class="COMM">/**
-<span class='line'>223</span> * get hexadecimal string of ASN.1 TLV refered by current index and nth index list.
-<span class='line'>224</span> * @name getDecendantHexTLVByNthList
-<span class='line'>225</span> * @memberOf ASN1HEX
-<span class='line'>226</span> * @function
-<span class='line'>227</span> * @param {String} h hexadecimal string of ASN.1 DER encoded data
-<span class='line'>228</span> * @param {Number} currentIndex start string index of ASN.1 object
-<span class='line'>229</span> * @param {Array of Number} nthList array list of nth
-<span class='line'>230</span> * @return {Number} hexadecimal string of ASN.1 TLV refered by nthList
-<span class='line'>231</span> * @since 1.1
-<span class='line'>232</span> */</span><span class="WHIT">
-<span class='line'>233</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantHexTLVByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>234</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantIndexByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>235</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfTLV_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>236</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>237</span>
-<span class='line'>238</span> </span><span class="COMM">/**
-<span class='line'>239</span> * get hexadecimal string of ASN.1 V refered by current index and nth index list.
-<span class='line'>240</span> * @name getDecendantHexVByNthList
-<span class='line'>241</span> * @memberOf ASN1HEX
-<span class='line'>242</span> * @function
-<span class='line'>243</span> * @param {String} h hexadecimal string of ASN.1 DER encoded data
-<span class='line'>244</span> * @param {Number} currentIndex start string index of ASN.1 object
-<span class='line'>245</span> * @param {Array of Number} nthList array list of nth
-<span class='line'>246</span> * @return {Number} hexadecimal string of ASN.1 V refered by nthList
-<span class='line'>247</span> * @since 1.1
-<span class='line'>248</span> */</span><span class="WHIT">
-<span class='line'>249</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantHexVByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>250</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantIndexByNthList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currentIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nthList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>251</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfV_AtObj</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>252</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>253</span>
-<span class='line'>254</span> </span><span class="COMM">// ========== class definition ==============================</span><span class="WHIT">
-<span class='line'>255</span>
-<span class='line'>256</span> </span><span class="COMM">/**
-<span class='line'>257</span> * ASN.1 DER encoded hexadecimal string utility class
-<span class='line'>258</span> * @class ASN.1 DER encoded hexadecimal string utility class
-<span class='line'>259</span> * @author Kenji Urushima
-<span class='line'>260</span> * @version 1.1 (09 May 2012)
-<span class='line'>261</span> * @see &lt;a href="http://kjur.github.com/jsrsasigns/">'jwrsasign'(RSA Sign JavaScript Library) home page http://kjur.github.com/jsrsasign/&lt;/a>
-<span class='line'>262</span> * @since 1.1
-<span class='line'>263</span> */</span><span class="WHIT">
-<span class='line'>264</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">ASN1HEX</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
-<span class='line'>265</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">ASN1HEX</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>266</span> </span><span class="PUNC">}</span><span class="WHIT">
-<span class='line'>267</span>
-<span class='line'>268</span> </span><span class="NAME">ASN1HEX.getByteLengthOfL_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>269</span> </span><span class="NAME">ASN1HEX.getHexOfL_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfL_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>270</span> </span><span class="NAME">ASN1HEX.getIntOfL_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getIntOfL_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>271</span> </span><span class="NAME">ASN1HEX.getStartPosOfV_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getStartPosOfV_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>272</span> </span><span class="NAME">ASN1HEX.getHexOfV_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfV_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>273</span> </span><span class="NAME">ASN1HEX.getHexOfTLV_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfTLV_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>274</span> </span><span class="NAME">ASN1HEX.getPosOfNextSibling_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosOfNextSibling_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>275</span> </span><span class="NAME">ASN1HEX.getPosArrayOfChildren_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getPosArrayOfChildren_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>276</span> </span><span class="NAME">ASN1HEX.getNthChildIndex_AtObj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getNthChildIndex_AtObj</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>277</span> </span><span class="NAME">ASN1HEX.getDecendantIndexByNthList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantIndexByNthList</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>278</span> </span><span class="NAME">ASN1HEX.getDecendantHexVByNthList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantHexVByNthList</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>279</span> </span><span class="NAME">ASN1HEX.getDecendantHexTLVByNthList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getDecendantHexTLVByNthList</span><span class="PUNC">;</span><span class="WHIT">
-<span class='line'>280</span> </span></pre></body></html>
+ </style></head><body><pre><span class='line'> 1</span> <span class="COMM">/*! asn1hex-1.1.js (c) 2012 Kenji Urushima | kjur.github.com/jsrsasign/license
+<span class='line'> 2</span> */</span><span class="WHIT">
+<span class='line'> 3</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 4</span> </span><span class="COMM">// asn1hex.js - Hexadecimal represented ASN.1 string library</span><span class="WHIT">
+<span class='line'> 5</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 6</span> </span><span class="COMM">// version: 1.1 (09-May-2012)</span><span class="WHIT">
+<span class='line'> 7</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 8</span> </span><span class="COMM">// Copyright (c) 2010-2012 Kenji Urushima (kenji.urushima@gmail.com)</span><span class="WHIT">
+<span class='line'> 9</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 10</span> </span><span class="COMM">// This software is licensed under the terms of the MIT License.</span><span class="WHIT">
+<span class='line'> 11</span> </span><span class="COMM">// http://kjur.github.com/jsrsasign/license/</span><span class="WHIT">
+<span class='line'> 12</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 13</span> </span><span class="COMM">// The above copyright and license notice shall be </span><span class="WHIT">
+<span class='line'> 14</span> </span><span class="COMM">// included in all copies or substantial portions of the Software.</span><span class="WHIT">
+<span class='line'> 15</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 16</span> </span><span class="COMM">// Depends on:</span><span class="WHIT">
+<span class='line'> 17</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 18</span>
+<span class='line'> 19</span> </span><span class="COMM">// MEMO:</span><span class="WHIT">
+<span class='line'> 20</span> </span><span class="COMM">// f('3082025b02...', 2) ... 82025b ... 3bytes</span><span class="WHIT">
+<span class='line'> 21</span> </span><span class="COMM">// f('020100', 2) ... 01 ... 1byte</span><span class="WHIT">
+<span class='line'> 22</span> </span><span class="COMM">// f('0203001...', 2) ... 03 ... 1byte</span><span class="WHIT">
+<span class='line'> 23</span> </span><span class="COMM">// f('02818003...', 2) ... 8180 ... 2bytes</span><span class="WHIT">
+<span class='line'> 24</span> </span><span class="COMM">// f('3080....0000', 2) ... 80 ... -1</span><span class="WHIT">
+<span class='line'> 25</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 26</span> </span><span class="COMM">// Requirements:</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="COMM">// - ASN.1 type octet length MUST be 1. </span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="COMM">// (i.e. ASN.1 primitives like SET, SEQUENCE, INTEGER, OCTETSTRING ...)</span><span class="WHIT">
+<span class='line'> 29</span> </span><span class="COMM">// - </span><span class="WHIT">
+<span class='line'> 30</span>
+<span class='line'> 31</span> </span><span class="COMM">/**
+<span class='line'> 32</span> * @fileOverview
+<span class='line'> 33</span> * @name asn1hex-1.1.js
+<span class='line'> 34</span> * @author Kenji Urushima kenji.urushima@gmail.com
+<span class='line'> 35</span> * @version 1.1
+<span class='line'> 36</span> * @license &lt;a href="http://kjur.github.io/jsrsasign/license/">MIT License&lt;/a>
+<span class='line'> 37</span> */</span><span class="WHIT">
+<span class='line'> 38</span>
+<span class='line'> 39</span> </span><span class="COMM">/**
+<span class='line'> 40</span> * get byte length for ASN.1 L(length) bytes
+<span class='line'> 41</span> * @name getByteLengthOfL_AtObj
+<span class='line'> 42</span> * @memberOf ASN1HEX
+<span class='line'> 43</span> * @function
+<span class='line'> 44</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
+<span class='line'> 45</span> * @param {Number} pos string index
+<span class='line'> 46</span> * @return byte length for ASN.1 L(length) bytes
+<span class='line'> 47</span> */</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'8'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 50</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 51</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// length octet '80' indefinite length</span><span class="WHIT">
+<span class='line'> 52</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// including '8?' octet;</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// malformed format</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 55</span>
+<span class='line'> 56</span>
+<span class='line'> 57</span> </span><span class="COMM">/**
+<span class='line'> 58</span> * get hexadecimal string for ASN.1 L(length) bytes
+<span class='line'> 59</span> * @name getHexOfL_AtObj
+<span class='line'> 60</span> * @memberOf ASN1HEX
+<span class='line'> 61</span> * @function
+<span class='line'> 62</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
+<span class='line'> 63</span> * @param {Number} pos string index
+<span class='line'> 64</span> * @return {String} hexadecimal string for ASN.1 L(length) bytes
+<span class='line'> 65</span> */</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">_asnhex_getHexOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_asnhex_getByteLengthOfL_AtObj</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 69</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s.substring</span><span class="PUNC">(</span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 71</span>
+<span class='line'> 72</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="COMM">// getting ASN.1 length value at the position 'idx' of</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="COMM">// hexa decimal string 's'.</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="COMM">//</span><span class="WHIT">
+<span class='line'> 76</span> </span><span class="COMM">// f('3082025b02...', 0) ... 82025b ... ???</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="COMM">// f('020100', 0) ... 01 ... 1</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="COMM">// f('0203001...', 0) ... 03 ... 3</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="COMM">// f('02818003...', 0) ... 8180 ... 128</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="COMM">/**
+<span class='line'> 81</span> * get integer value of ASN.1 length for ASN.1 data
+<span class='line'> 82</span> * @name getIntOfL_AtObj
+<span class='line'> 83</span> * @memberOf ASN1HEX
+<span class='line'> 84</span> * @function
+<span class='line'> 85</span> * @param {String} s hexadecimal string of ASN.1 DER encoded data
+<span class='line'> 86</span> * @param {Number} pos string index
+<span class='line'> 87</span> * @return ASN.1 L(length) integer value
+<span class='line'> 88</span> */</span><span class="WHIT">
+<span class='line'> 89</span> </span><span