1
0
mirror of https://github.com/danog/fast-srp.git synced 2024-11-26 20:04:49 +01:00

Regenerate docs

This commit is contained in:
Supereg 2021-01-10 18:00:26 +01:00
parent 0ec7c7d39f
commit 1d5d4ce975
No known key found for this signature in database
GPG Key ID: 2F08948C5653D720
11 changed files with 2266 additions and 2038 deletions

View File

@ -10,7 +10,7 @@ Is a pure [NodeJS](https://nodejs.org/) implementation of the [SRP6a protocol](h
It's a derived work of [Jed Parson](http://jedparsons.com/)'s [node-srp](https://github.com/jedp/node-srp) and [Tom Wu](http://www-cs-students.stanford.edu/~tjw/)'s [jsbn](http://www-cs-students.stanford.edu/~tjw/jsbn/).
Full documentation can be found [here](https://developers.homebridge.io/fast-srp/globals.html).
Full documentation can be found [here](https://developers.homebridge.io/fast-srp/modules.html).
Creating the Verifier
---

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SrpClient | fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -51,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
<a href="../modules.html">fast-srp-hap</a>
</li>
<li>
<a href="srpclient.html">SrpClient</a>
@ -101,13 +102,13 @@
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Client<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a>, salt_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, identity_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, password_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret1_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, hap<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpclient.html" class="tsd-signature-type">SrpClient</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Client<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a>, salt_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, identity_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, password_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret1_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, hap<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpclient.html" class="tsd-signature-type" data-tsd-kind="Class">SrpClient</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L390">srp.ts:390</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L397">srp.ts:397</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -118,54 +119,42 @@
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a></h5>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Group parameters, with .N, .g, .hash</p>
</div>
</div>
</li>
<li>
<h5>salt_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>User salt (from server)</p>
</div>
</div>
</li>
<li>
<h5>identity_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Identity/username</p>
</div>
</div>
</li>
<li>
<h5>password_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Password</p>
</div>
</div>
</li>
<li>
<h5>secret1_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Client private key {@see genKey}</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> hap: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>
<h5>hap: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="srpclient.html" class="tsd-signature-type">SrpClient</a></h4>
<h4 class="tsd-returns-title">Returns <a href="srpclient.html" class="tsd-signature-type" data-tsd-kind="Class">SrpClient</a></h4>
</li>
</ul>
</section>
@ -182,7 +171,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L470">srp.ts:470</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L477">srp.ts:477</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -214,7 +203,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L426">srp.ts:426</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L433">srp.ts:433</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -236,7 +225,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L481">srp.ts:481</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L488">srp.ts:488</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -258,7 +247,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L457">srp.ts:457</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L464">srp.ts:464</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -281,7 +270,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L435">srp.ts:435</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L442">srp.ts:442</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -307,8 +296,8 @@
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
<li class=" ">
<a href="../modules.html">Exports</a>
</li>
</ul>
</nav>
@ -354,16 +343,16 @@
<a href="../interfaces/srpparams.html" class="tsd-kind-icon">Srp<wbr>Params</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="../modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="../modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="../modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="../modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -375,63 +364,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SrpServer | fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -51,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
<a href="../modules.html">fast-srp-hap</a>
</li>
<li>
<a href="srpserver.html">SrpServer</a>
@ -111,15 +112,15 @@
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a>, salt_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, identity_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, password_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type">SrpServer</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a>, verifier_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type">SrpServer</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a>, identity<span class="tsd-signature-symbol">: </span><a href="../globals.html#identity" class="tsd-signature-type">Identity</a>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type">SrpServer</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a>, salt_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, identity_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, password_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a>, verifier_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Srp<wbr>Server<span class="tsd-signature-symbol">(</span>params<span class="tsd-signature-symbol">: </span><a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a>, identity<span class="tsd-signature-symbol">: </span><a href="../modules.html#identity" class="tsd-signature-type" data-tsd-kind="Type alias">Identity</a>, secret2_buf<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L524">srp.ts:524</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L531">srp.ts:531</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -135,127 +136,77 @@
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a></h5>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Group parameters, with .N, .g, .hash</p>
</div>
</div>
</li>
<li>
<h5>salt_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>User salt (from server)</p>
</div>
</div>
</li>
<li>
<h5>identity_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Identity/username</p>
</div>
</div>
</li>
<li>
<h5>password_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Password</p>
</div>
</div>
</li>
<li>
<h5>secret2_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Client private key {@see genKey}</p>
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type">SrpServer</a></h4>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L539">srp.ts:539</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L546">srp.ts:546</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Create an SRP server.</p>
</div>
<p>This has two modes:</p>
<ul>
<li>Using a password: creates the server using a salt, identity and password, optionally in an object</li>
<li>Using a verifier: creates the server using a salt, identity and verifier in an object</li>
</ul>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Group parameters, with .N, .g, .hash</p>
</div>
</div>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a></h5>
</li>
<li>
<h5>verifier_buf: <span class="tsd-signature-type">Buffer</span></h5>
</li>
<li>
<h5>secret2_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Client private key {@see genKey}</p>
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type">SrpServer</a></h4>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L540">srp.ts:540</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L547">srp.ts:547</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Create an SRP server.</p>
</div>
<p>This has two modes:</p>
<ul>
<li>Using a password: creates the server using a salt, identity and password, optionally in an object</li>
<li>Using a verifier: creates the server using a salt, identity and verifier in an object</li>
</ul>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type">SrpParams</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Group parameters, with .N, .g, .hash</p>
</div>
</div>
<h5>params: <a href="../interfaces/srpparams.html" class="tsd-signature-type" data-tsd-kind="Interface">SrpParams</a></h5>
</li>
<li>
<h5>identity: <a href="../globals.html#identity" class="tsd-signature-type">Identity</a></h5>
<h5>identity: <a href="../modules.html#identity" class="tsd-signature-type" data-tsd-kind="Type alias">Identity</a></h5>
</li>
<li>
<h5>secret2_buf: <span class="tsd-signature-type">Buffer</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Client private key {@see genKey}</p>
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type">SrpServer</a></h4>
<h4 class="tsd-returns-title">Returns <a href="srpserver.html" class="tsd-signature-type" data-tsd-kind="Class">SrpServer</a></h4>
</li>
</ul>
</section>
@ -265,10 +216,10 @@
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_k" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> _K</h3>
<div class="tsd-signature tsd-kind-icon">_K<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span></div>
<div class="tsd-signature tsd-kind-icon">_K<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L516">srp.ts:516</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L523">srp.ts:523</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -280,30 +231,30 @@
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_m1" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> _<wbr>M1</h3>
<div class="tsd-signature tsd-kind-icon">_<wbr>M1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span></div>
<div class="tsd-signature tsd-kind-icon">_<wbr>M1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L518">srp.ts:518</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L525">srp.ts:525</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_m2" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> _<wbr>M2</h3>
<div class="tsd-signature tsd-kind-icon">_<wbr>M2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span></div>
<div class="tsd-signature tsd-kind-icon">_<wbr>M2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L519">srp.ts:519</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L526">srp.ts:526</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_s" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> _S</h3>
<div class="tsd-signature tsd-kind-icon">_S<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span></div>
<div class="tsd-signature tsd-kind-icon">_S<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L524">srp.ts:524</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L531">srp.ts:531</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -315,10 +266,10 @@
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_u" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> _u</h3>
<div class="tsd-signature tsd-kind-icon">_u<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BigInteger</span></div>
<div class="tsd-signature tsd-kind-icon">_u<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">BigInteger</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L522">srp.ts:522</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L529">srp.ts:529</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -340,7 +291,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L638">srp.ts:638</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L645">srp.ts:645</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -371,7 +322,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L608">srp.ts:608</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L615">srp.ts:615</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -393,7 +344,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L652">srp.ts:652</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L659">srp.ts:659</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -415,7 +366,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L665">srp.ts:665</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L672">srp.ts:672</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -438,7 +389,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L617">srp.ts:617</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L624">srp.ts:624</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -464,8 +415,8 @@
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
<li class=" ">
<a href="../modules.html">Exports</a>
</li>
</ul>
</nav>
@ -526,16 +477,16 @@
<a href="../interfaces/srpparams.html" class="tsd-kind-icon">Srp<wbr>Params</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="../modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="../modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="../modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="../modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -547,63 +498,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
<script async src="assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -49,12 +50,7 @@
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="globals.html">Globals</a>
</li>
</ul>
<h1>fast-srp-hap</h1>
<h1>Project fast-srp-hap</h1>
</div>
</div>
</header>
@ -67,68 +63,72 @@
</a>
<p><img src="https://badgen.net/npm/v/fast-srp-hap" alt="NPM-Version">
<img src="https://badgen.net/npm/dt/fast-srp-hap" alt="NPM-Downloads">
<img src="https://github.com/homebridge/fast-srp/workflows/Node-CI/badge.svg" alt="Node-CI"></p>
<img src="https://github.com/homebridge/fast-srp/workflows/Node-CI/badge.svg" alt="Node-CI">
<a href="https://coveralls.io/github/homebridge/fast-srp?branch=master"><img src="https://coveralls.io/repos/github/homebridge/fast-srp/badge.svg?branch=master" alt="Coverage Status"></a></p>
<p>Is a pure <a href="https://nodejs.org/">NodeJS</a> implementation of the <a href="http://srp.stanford.edu/">SRP6a protocol</a>.</p>
<p>It&#39;s a derived work of <a href="http://jedparsons.com/">Jed Parson</a>&#39;s <a href="https://github.com/jedp/node-srp">node-srp</a> and <a href="http://www-cs-students.stanford.edu/~tjw/">Tom Wu</a>&#39;s <a href="http://www-cs-students.stanford.edu/~tjw/jsbn/">jsbn</a>.</p>
<p>Full documentation can be found <a href="https://developers.homebridge.io/fast-srp/globals.html">here</a>.</p>
<a href="#creating-the-verifier" id="creating-the-verifier" style="color: inherit; text-decoration: none;">
<h2>Creating the Verifier</h2>
</a>
<pre><code class="language-ts"><span class="hljs-keyword">import</span> { SRP } <span class="hljs-keyword">from</span> <span class="hljs-string">'fast-srp-hap'</span>;
<pre><code class="language-ts"><span style="color: #AF00DB">import</span><span style="color: #000000"> { </span><span style="color: #001080">SRP</span><span style="color: #000000"> } </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;fast-srp-hap&#039;</span><span style="color: #000000">;</span>
<span class="hljs-comment">/**
* Computes the verifier of a user. Only needed to add the user to the auth system.
*
* @param {string} I Username to compute verifier
* @param {string} P Password
* @return {Promise&lt;{salt: Buffer, verifier: Buffer}&gt;}
*/</span>
<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">srp6a_create_user</span>(<span class="hljs-params">I: <span class="hljs-built_in">string</span>, P: <span class="hljs-built_in">string</span></span>) </span>{
<span class="hljs-keyword">const</span> salt = <span class="hljs-keyword">await</span> SRP.genKey(<span class="hljs-number">32</span>);
<span style="color: #008000">/**</span>
<span style="color: #008000"> * Computes the verifier of a user. Only needed to add the user to the auth system.</span>
<span style="color: #008000"> *</span>
<span style="color: #008000"> * </span><span style="color: #0000FF">@param</span><span style="color: #008000"> </span><span style="color: #267F99">{string}</span><span style="color: #008000"> </span><span style="color: #001080">I</span><span style="color: #008000"> Username to compute verifier</span>
<span style="color: #008000"> * </span><span style="color: #0000FF">@param</span><span style="color: #008000"> </span><span style="color: #267F99">{string}</span><span style="color: #008000"> </span><span style="color: #001080">P</span><span style="color: #008000"> Password</span>
<span style="color: #008000"> * </span><span style="color: #0000FF">@return</span><span style="color: #008000"> </span><span style="color: #267F99">{Promise&lt;{salt: Buffer, verifier: Buffer}&gt;}</span>
<span style="color: #008000"> */</span>
<span style="color: #0000FF">async</span><span style="color: #000000"> </span><span style="color: #0000FF">function</span><span style="color: #000000"> </span><span style="color: #795E26">srp6a_create_user</span><span style="color: #000000">(</span><span style="color: #001080">I</span><span style="color: #000000">: </span><span style="color: #267F99">string</span><span style="color: #000000">, </span><span style="color: #001080">P</span><span style="color: #000000">: </span><span style="color: #267F99">string</span><span style="color: #000000">) {</span>
<span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">salt</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #795E26">genKey</span><span style="color: #000000">(</span><span style="color: #098658">32</span><span style="color: #000000">);</span>
<span class="hljs-keyword">return</span> {
<span class="hljs-comment">// The salt is required for authenticating the user later</span>
salt,
verifier: SRP.computeVerifier(SRP.params[<span class="hljs-number">4096</span>], salt, Buffer.from(I), Buffer.from(P)),
};
}
<span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> {</span>
<span style="color: #000000"> </span><span style="color: #008000">// The salt is required for authenticating the user later</span>
<span style="color: #000000"> </span><span style="color: #001080">salt</span><span style="color: #000000">,</span>
<span style="color: #000000"> </span><span style="color: #001080">verifier:</span><span style="color: #000000"> </span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #795E26">computeVerifier</span><span style="color: #000000">(</span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #001080">params</span><span style="color: #000000">[</span><span style="color: #098658">4096</span><span style="color: #000000">], </span><span style="color: #001080">salt</span><span style="color: #000000">, </span><span style="color: #001080">Buffer</span><span style="color: #000000">.</span><span style="color: #795E26">from</span><span style="color: #000000">(</span><span style="color: #0070C1">I</span><span style="color: #000000">), </span><span style="color: #001080">Buffer</span><span style="color: #000000">.</span><span style="color: #795E26">from</span><span style="color: #000000">(</span><span style="color: #0070C1">P</span><span style="color: #000000">)),</span>
<span style="color: #000000"> };</span>
<span style="color: #000000">}</span>
<span class="hljs-keyword">await</span> srp6a_create_user(<span class="hljs-string">'Zarmack Tanen'</span>, <span class="hljs-string">'*****'</span>).then(<span class="hljs-function">(<span class="hljs-params">{salt, verifier}</span>) =&gt;</span> {
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'SRP6a verifier and salt of Zarmack Tanen user is %s and %s'</span>,
verifier.toString(<span class="hljs-string">'hex'</span>), salt.toString(<span class="hljs-string">'hex'</span>));
});</code></pre>
<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">srp6a_create_user</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;Zarmack Tanen&#039;</span><span style="color: #000000">, </span><span style="color: #A31515">&#039;*****&#039;</span><span style="color: #000000">).</span><span style="color: #795E26">then</span><span style="color: #000000">(({</span><span style="color: #001080">salt</span><span style="color: #000000">, </span><span style="color: #001080">verifier</span><span style="color: #000000">}) </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
<span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;SRP6a verifier and salt of Zarmack Tanen user is %s and %s&#039;</span><span style="color: #000000">,</span>
<span style="color: #000000"> </span><span style="color: #001080">verifier</span><span style="color: #000000">.</span><span style="color: #795E26">toString</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;hex&#039;</span><span style="color: #000000">), </span><span style="color: #001080">salt</span><span style="color: #000000">.</span><span style="color: #795E26">toString</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;hex&#039;</span><span style="color: #000000">));</span>
<span style="color: #000000">});</span>
</code></pre>
<a href="#server" id="server" style="color: inherit; text-decoration: none;">
<h2>Server</h2>
</a>
<pre><code class="language-ts"><span class="hljs-keyword">import</span> {SRP, SrpServer} <span class="hljs-keyword">from</span> <span class="hljs-string">'fast-srp-hap'</span>;
<pre><code class="language-ts"><span style="color: #AF00DB">import</span><span style="color: #000000"> {</span><span style="color: #001080">SRP</span><span style="color: #000000">, </span><span style="color: #001080">SrpServer</span><span style="color: #000000">} </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;fast-srp-hap&#039;</span><span style="color: #000000">;</span>
<span class="hljs-function">(<span class="hljs-params"><span class="hljs-keyword">async</span> (<span class="hljs-params"></span>) =&gt; {
<span class="hljs-comment">// Get the user details from somewhere</span>
<span class="hljs-keyword">const</span> user = {
username: 'username', <span class="hljs-comment">// Or a Buffer</span>
<span style="color: #000000">(</span><span style="color: #0000FF">async</span><span style="color: #000000"> () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
<span style="color: #000000"> </span><span style="color: #008000">// Get the user details from somewhere</span>
<span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">user</span><span style="color: #000000"> = {</span>
<span style="color: #000000"> </span><span style="color: #001080">username:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;username&#039;</span><span style="color: #000000">, </span><span style="color: #008000">// Or a Buffer</span>
<span class="hljs-comment">// If we have the plaintext password</span>
salt: <span class="hljs-keyword">await</span> SRP.genKey(<span class="hljs-params">32</span>),
password: 'password', <span class="hljs-comment">// Or a Buffer</span>
<span style="color: #000000"> </span><span style="color: #008000">// If we have the plaintext password</span>
<span style="color: #000000"> </span><span style="color: #001080">salt:</span><span style="color: #000000"> </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #795E26">genKey</span><span style="color: #000000">(</span><span style="color: #098658">32</span><span style="color: #000000">),</span>
<span style="color: #000000"> </span><span style="color: #001080">password:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;password&#039;</span><span style="color: #000000">, </span><span style="color: #008000">// Or a Buffer</span>
<span class="hljs-comment">// If we have a saved verifier</span>
salt: Buffer.<span class="hljs-keyword">from</span>(<span class="hljs-params">'...'</span>),
verifier: Buffer.<span class="hljs-keyword">from</span>(<span class="hljs-params">'...'</span>),
};
<span style="color: #000000"> </span><span style="color: #008000">// If we have a saved verifier</span>
<span style="color: #000000"> </span><span style="color: #001080">salt:</span><span style="color: #000000"> </span><span style="color: #001080">Buffer</span><span style="color: #000000">.</span><span style="color: #795E26">from</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;...&#039;</span><span style="color: #000000">),</span>
<span style="color: #000000"> </span><span style="color: #001080">verifier:</span><span style="color: #000000"> </span><span style="color: #001080">Buffer</span><span style="color: #000000">.</span><span style="color: #795E26">from</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;...&#039;</span><span style="color: #000000">),</span>
<span style="color: #000000"> };</span>
<span class="hljs-comment">// Generate a secret key</span>
<span class="hljs-keyword">const</span> secret = <span class="hljs-keyword">await</span> SRP.genKey(<span class="hljs-params">32</span>);
<span style="color: #000000"> </span><span style="color: #008000">// Generate a secret key</span>
<span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">secret</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #795E26">genKey</span><span style="color: #000000">(</span><span style="color: #098658">32</span><span style="color: #000000">);</span>
<span class="hljs-keyword">const</span> server = <span class="hljs-keyword">new</span> SrpServer(<span class="hljs-params">SRP.params[3076], user, secret</span>); <span class="hljs-comment">// For Apple SRP use params.hap</span>
<span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">server</span><span style="color: #000000"> = </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #267F99">SrpServer</span><span style="color: #000000">(</span><span style="color: #0070C1">SRP</span><span style="color: #000000">.</span><span style="color: #001080">params</span><span style="color: #000000">[</span><span style="color: #098658">3076</span><span style="color: #000000">], </span><span style="color: #001080">user</span><span style="color: #000000">, </span><span style="color: #001080">secret</span><span style="color: #000000">); </span><span style="color: #008000">// For Apple SRP use params.hap</span>
<span class="hljs-comment">// ...</span>
}</span>)<span class="hljs-params">()</span>;</span></code></pre>
<span style="color: #000000"> </span><span style="color: #008000">// ...</span>
<span style="color: #000000">})();</span>
</code></pre>
</div>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="globals.html"><em>Globals</em></a>
<li class=" ">
<a href="modules.html">Exports</a>
</li>
</ul>
</nav>
@ -150,16 +150,16 @@
<a href="interfaces/srpparams.html" class="tsd-kind-icon">Srp<wbr>Params</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -171,63 +171,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>BaseIdentity | fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -51,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
<a href="../modules.html">fast-srp-hap</a>
</li>
<li>
<a href="baseidentity.html">BaseIdentity</a>
@ -94,17 +95,17 @@
<div class="tsd-signature tsd-kind-icon">salt<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L491">srp.ts:491</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L498">srp.ts:498</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="username" class="tsd-anchor"></a>
<h3>username</h3>
<div class="tsd-signature tsd-kind-icon">username<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
<div class="tsd-signature tsd-kind-icon">username<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L490">srp.ts:490</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L497">srp.ts:497</a></li>
</ul>
</aside>
</section>
@ -113,8 +114,8 @@
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
<li class=" ">
<a href="../modules.html">Exports</a>
</li>
</ul>
</nav>
@ -148,16 +149,16 @@
<a href="srpparams.html" class="tsd-kind-icon">Srp<wbr>Params</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="../modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="../modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="../modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="../modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -169,63 +170,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SrpParams | fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -51,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
<a href="../modules.html">fast-srp-hap</a>
</li>
<li>
<a href="srpparams.html">SrpParams</a>
@ -96,7 +97,7 @@
<div class="tsd-signature tsd-kind-icon">N<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BigInteger</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/params.ts#L25">params.ts:25</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/params.ts#L25">params.ts:25</a></li>
</ul>
</aside>
</section>
@ -106,7 +107,7 @@
<div class="tsd-signature tsd-kind-icon">N_<wbr>length_<wbr>bits<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/params.ts#L24">params.ts:24</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/params.ts#L24">params.ts:24</a></li>
</ul>
</aside>
</section>
@ -116,7 +117,7 @@
<div class="tsd-signature tsd-kind-icon">g<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BigInteger</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/params.ts#L26">params.ts:26</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/params.ts#L26">params.ts:26</a></li>
</ul>
</aside>
</section>
@ -126,7 +127,7 @@
<div class="tsd-signature tsd-kind-icon">hash<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/params.ts#L27">params.ts:27</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/params.ts#L27">params.ts:27</a></li>
</ul>
</aside>
</section>
@ -135,8 +136,8 @@
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
<li class=" ">
<a href="../modules.html">Exports</a>
</li>
</ul>
</nav>
@ -176,16 +177,16 @@
</ul>
<ul class="after-current">
<li class=" tsd-kind-type-alias">
<a href="../globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="../modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="../modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="../modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="../modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -197,63 +198,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -4,16 +4,17 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>fast-srp-hap</title>
<meta name="description" content="">
<meta name="description" content="Documentation for fast-srp-hap">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
<script async src="assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
@ -49,12 +50,7 @@
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="globals.html">Globals</a>
</li>
</ul>
<h1>fast-srp-hap</h1>
<h1>Project fast-srp-hap</h1>
</div>
</div>
</header>
@ -83,10 +79,10 @@
<section class="tsd-index-section ">
<h3>Type aliases</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-type-alias"><a href="globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a></li>
<li class="tsd-kind-type-alias"><a href="globals.html#identity" class="tsd-kind-icon">Identity</a></li>
<li class="tsd-kind-type-alias"><a href="globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a></li>
<li class="tsd-kind-type-alias"><a href="globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a></li>
<li class="tsd-kind-type-alias"><a href="modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a></li>
<li class="tsd-kind-type-alias"><a href="modules.html#identity" class="tsd-kind-icon">Identity</a></li>
<li class="tsd-kind-type-alias"><a href="modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a></li>
<li class="tsd-kind-type-alias"><a href="modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a></li>
</ul>
</section>
</div>
@ -100,7 +96,7 @@
<div class="tsd-signature tsd-kind-icon">Gen<wbr>Key<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L77">srp.ts:77</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L77">srp.ts:77</a></li>
</ul>
</aside>
<div class="tsd-type-declaration">
@ -131,30 +127,30 @@
<section class="tsd-panel tsd-member tsd-kind-type-alias">
<a name="identity" class="tsd-anchor"></a>
<h3>Identity</h3>
<div class="tsd-signature tsd-kind-icon">Identity<span class="tsd-signature-symbol">:</span> <a href="globals.html#passwordidentity" class="tsd-signature-type">PasswordIdentity</a><span class="tsd-signature-symbol"> | </span><a href="globals.html#verifieridentity" class="tsd-signature-type">VerifierIdentity</a></div>
<div class="tsd-signature tsd-kind-icon">Identity<span class="tsd-signature-symbol">:</span> <a href="modules.html#passwordidentity" class="tsd-signature-type" data-tsd-kind="Type alias">PasswordIdentity</a><span class="tsd-signature-symbol"> | </span><a href="modules.html#verifieridentity" class="tsd-signature-type" data-tsd-kind="Type alias">VerifierIdentity</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L497">srp.ts:497</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L504">srp.ts:504</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-type-alias">
<a name="passwordidentity" class="tsd-anchor"></a>
<h3>Password<wbr>Identity</h3>
<div class="tsd-signature tsd-kind-icon">Password<wbr>Identity<span class="tsd-signature-symbol">:</span> <a href="interfaces/baseidentity.html" class="tsd-signature-type">BaseIdentity</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>password<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
<div class="tsd-signature tsd-kind-icon">Password<wbr>Identity<span class="tsd-signature-symbol">:</span> <a href="interfaces/baseidentity.html" class="tsd-signature-type" data-tsd-kind="Interface">BaseIdentity</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>password<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L494">srp.ts:494</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L501">srp.ts:501</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-type-alias">
<a name="verifieridentity" class="tsd-anchor"></a>
<h3>Verifier<wbr>Identity</h3>
<div class="tsd-signature tsd-kind-icon">Verifier<wbr>Identity<span class="tsd-signature-symbol">:</span> <a href="interfaces/baseidentity.html" class="tsd-signature-type">BaseIdentity</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>verifier<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span></div>
<div class="tsd-signature tsd-kind-icon">Verifier<wbr>Identity<span class="tsd-signature-symbol">:</span> <a href="interfaces/baseidentity.html" class="tsd-signature-type" data-tsd-kind="Interface">BaseIdentity</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>verifier<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/7c87565/src/srp.ts#L495">srp.ts:495</a></li>
<li>Defined in <a href="https://github.com/homebridge/fast-srp/blob/0ec7c7d/src/srp.ts#L502">srp.ts:502</a></li>
</ul>
</aside>
</section>
@ -163,8 +159,8 @@
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals current ">
<a href="globals.html"><em>Globals</em></a>
<li class="current ">
<a href="modules.html">Exports</a>
</li>
</ul>
</nav>
@ -186,16 +182,16 @@
<a href="interfaces/srpparams.html" class="tsd-kind-icon">Srp<wbr>Params</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
<a href="modules.html#genkeycallback" class="tsd-kind-icon">Gen<wbr>Key<wbr>Callback</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#identity" class="tsd-kind-icon">Identity</a>
<a href="modules.html#identity" class="tsd-kind-icon">Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
<a href="modules.html#passwordidentity" class="tsd-kind-icon">Password<wbr>Identity</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="globals.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
<a href="modules.html#verifieridentity" class="tsd-kind-icon">Verifier<wbr>Identity</a>
</li>
</ul>
</nav>
@ -207,63 +203,21 @@
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
</body>
</html>