ontology-ts-sdk
Version:
Comprehensive TypeScript library for the Ontology blockchain.
723 lines • 38.5 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>PublicKey | ontology-ts-sdk</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</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="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">ontology-ts-sdk</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="../modules/_crypto_publickey_.html">"crypto/PublicKey"</a>
</li>
<li>
<a href="_crypto_publickey_.publickey.html">PublicKey</a>
</li>
</ul>
<h1>Class PublicKey</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Class to manage the public key with some userful functions.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<a href="_crypto_key_.key.html" class="tsd-signature-type">Key</a>
<ul class="tsd-hierarchy">
<li>
<span class="target">PublicKey</span>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section tsd-is-inherited">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-inherited">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#algorithm" class="tsd-kind-icon">algorithm</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#key" class="tsd-kind-icon">key</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#parameters" class="tsd-kind-icon">parameters</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#computehash" class="tsd-kind-icon">compute<wbr>Hash</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#isschemasupported" class="tsd-kind-icon">is<wbr>Schema<wbr>Supported</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#serializehex" class="tsd-kind-icon">serialize<wbr>Hex</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="_crypto_publickey_.publickey.html#serializejson" class="tsd-kind-icon">serialize<wbr>Json</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#verify" class="tsd-kind-icon">verify</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#verifyecdsasignature" class="tsd-kind-icon">verify<wbr>EcDSASignature</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#verifyeddsasignature" class="tsd-kind-icon">verify<wbr>EdDSASignature</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#verifysm2signature" class="tsd-kind-icon">verifySM2<wbr>Signature</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_crypto_publickey_.publickey.html#verifysignature" class="tsd-kind-icon">verify<wbr>Signature</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="_crypto_publickey_.publickey.html#deserializehex" class="tsd-kind-icon">deserialize<wbr>Hex</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-inherited">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">new <wbr>Public<wbr>Key<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, algorithm<span class="tsd-signature-symbol">?: </span><a href="_crypto_keytype_.keytype.html" class="tsd-signature-type">KeyType</a>, parameters<span class="tsd-signature-symbol">?: </span><a href="_crypto_key_.keyparameters.html" class="tsd-signature-type">KeyParameters</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_crypto_publickey_.publickey.html" class="tsd-signature-type">PublicKey</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#constructor">constructor</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L74">crypto/Key.ts:74</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates Key.</p>
</div>
<p>If no algorithm or parameters are specified, default values will be used.
This is strongly discurraged, because it will forbid using other Key types.
Therefore use it only for testing.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Hex encoded key value</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> algorithm: <a href="_crypto_keytype_.keytype.html" class="tsd-signature-type">KeyType</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Key type</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> parameters: <a href="_crypto_key_.keyparameters.html" class="tsd-signature-type">KeyParameters</a></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Parameters of the key type</p>
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="_crypto_publickey_.publickey.html" class="tsd-signature-type">PublicKey</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-inherited">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a name="algorithm" class="tsd-anchor"></a>
<h3>algorithm</h3>
<div class="tsd-signature tsd-kind-icon">algorithm<span class="tsd-signature-symbol">:</span> <a href="_crypto_keytype_.keytype.html" class="tsd-signature-type">KeyType</a></div>
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#algorithm">algorithm</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L64">crypto/Key.ts:64</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Algorithm used for key generation.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a name="key" class="tsd-anchor"></a>
<h3>key</h3>
<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#key">key</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L74">crypto/Key.ts:74</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Key data.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a name="parameters" class="tsd-anchor"></a>
<h3>parameters</h3>
<div class="tsd-signature tsd-kind-icon">parameters<span class="tsd-signature-symbol">:</span> <a href="_crypto_key_.keyparameters.html" class="tsd-signature-type">KeyParameters</a></div>
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#parameters">parameters</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L69">crypto/Key.ts:69</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Parameters of the algorithm.</p>
</div>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="computehash" class="tsd-anchor"></a>
<h3>compute<wbr>Hash</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">compute<wbr>Hash<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, scheme<span class="tsd-signature-symbol">: </span><a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#computehash">computeHash</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L108">crypto/Key.ts:108</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Computes hash of message using hashing function of signature schema.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>msg: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded input data</p>
</div>
</li>
<li>
<h5>scheme: <a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a></h5>
<div class="tsd-comment tsd-typography">
<p>Signing schema to use</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="isschemasupported" class="tsd-anchor"></a>
<h3>is<wbr>Schema<wbr>Supported</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">is<wbr>Schema<wbr>Supported<span class="tsd-signature-symbol">(</span>schema<span class="tsd-signature-symbol">: </span><a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#isschemasupported">isSchemaSupported</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L141">crypto/Key.ts:141</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Tests if signing schema is compatible with key type.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>schema: <a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a></h5>
<div class="tsd-comment tsd-typography">
<p>Signing schema to use</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="serializehex" class="tsd-anchor"></a>
<h3>serialize<wbr>Hex</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">serialize<wbr>Hex<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L87">crypto/PublicKey.ts:87</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Serializes public key to Hex representation.</p>
</div>
<p>Length definition is not included.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="serializejson" class="tsd-anchor"></a>
<h3>serialize<wbr>Json</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">serialize<wbr>Json<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_crypto_key_.jsonkey.html" class="tsd-signature-type">JsonKey</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="_crypto_key_.key.html">Key</a>.<a href="_crypto_key_.key.html#serializejson">serializeJson</a></p>
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/Key.ts#L165">crypto/Key.ts:165</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Gets JSON representation of the Key (Public/Private).</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/_crypto_key_.jsonkey.html" class="tsd-signature-type">JsonKey</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="verify" class="tsd-anchor"></a>
<h3>verify</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">verify<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, signature<span class="tsd-signature-symbol">: </span><a href="_crypto_signature_.signature.html" class="tsd-signature-type">Signature</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L66">crypto/PublicKey.ts:66</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verifies if the signature was created with private key corresponding to supplied public key
and was not tampered with using signature schema.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>msg: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded input data</p>
</div>
</li>
<li>
<h5>signature: <a href="_crypto_signature_.signature.html" class="tsd-signature-type">Signature</a></h5>
<div class="tsd-comment tsd-typography">
<p>Signature object</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="verifyecdsasignature" class="tsd-anchor"></a>
<h3>verify<wbr>EcDSASignature</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">verify<wbr>EcDSASignature<span class="tsd-signature-symbol">(</span>hash<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, signature<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L136">crypto/PublicKey.ts:136</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verifies EcDSA signature of message hash. Curve name is derrived from private key.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>hash: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Message hash</p>
</div>
</li>
<li>
<h5>signature: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded signature</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="verifyeddsasignature" class="tsd-anchor"></a>
<h3>verify<wbr>EdDSASignature</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">verify<wbr>EdDSASignature<span class="tsd-signature-symbol">(</span>hash<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, signature<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L150">crypto/PublicKey.ts:150</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verifies EdDSA signature of message hash. Curve name is derrived from private key.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>hash: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Message hash</p>
</div>
</li>
<li>
<h5>signature: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded signature</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="verifysm2signature" class="tsd-anchor"></a>
<h3>verifySM2<wbr>Signature</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">verifySM2<wbr>Signature<span class="tsd-signature-symbol">(</span>hash<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, signature<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L166">crypto/PublicKey.ts:166</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verifies SM2 signature of message hash.</p>
</div>
<p>Only default SM2 ID is supported.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>hash: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Message hash</p>
</div>
</li>
<li>
<h5>signature: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded signature</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="verifysignature" class="tsd-anchor"></a>
<h3>verify<wbr>Signature</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">verify<wbr>Signature<span class="tsd-signature-symbol">(</span>hash<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, signature<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, schema<span class="tsd-signature-symbol">: </span><a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L109">crypto/PublicKey.ts:109</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>For internal use.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>hash: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Message hash</p>
</div>
</li>
<li>
<h5>signature: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Hex encoded signature</p>
</div>
</li>
<li>
<h5>schema: <a href="_crypto_signaturescheme_.signaturescheme.html" class="tsd-signature-type">SignatureScheme</a></h5>
<div class="tsd-comment tsd-typography">
<p>Signature scheme to use</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a name="deserializehex" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagStatic">Static</span> deserialize<wbr>Hex</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
<li class="tsd-signature tsd-kind-icon">deserialize<wbr>Hex<span class="tsd-signature-symbol">(</span>sr<span class="tsd-signature-symbol">: </span><a href="_utils_.stringreader.html" class="tsd-signature-type">StringReader</a>, length<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_crypto_publickey_.publickey.html" class="tsd-signature-type">PublicKey</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/MickWang/ontology-ts-sdk/blob/f203ee8/src/crypto/PublicKey.ts#L40">crypto/PublicKey.ts:40</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates PublicKey from Hex representation.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>sr: <a href="_utils_.stringreader.html" class="tsd-signature-type">StringReader</a></h5>
<div class="tsd-comment tsd-typography">
<p>String reader</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> length: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 33</span></h5>
<div class="tsd-comment tsd-typography">
<p>Byte length of the serialized object</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="_crypto_publickey_.publickey.html" class="tsd-signature-type">PublicKey</a></h4>
</li>
</ul>
</section>
</section>
</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>
<li class="current tsd-kind-external-module">
<a href="../modules/_crypto_publickey_.html">"crypto/<wbr>Public<wbr>Key"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-external-module">
<a href="_crypto_publickey_.publickey.html" class="tsd-kind-icon">Public<wbr>Key</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#algorithm" class="tsd-kind-icon">algorithm</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#key" class="tsd-kind-icon">key</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#parameters" class="tsd-kind-icon">parameters</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#computehash" class="tsd-kind-icon">compute<wbr>Hash</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#isschemasupported" class="tsd-kind-icon">is<wbr>Schema<wbr>Supported</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#serializehex" class="tsd-kind-icon">serialize<wbr>Hex</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="_crypto_publickey_.publickey.html#serializejson" class="tsd-kind-icon">serialize<wbr>Json</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#verify" class="tsd-kind-icon">verify</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#verifyecdsasignature" class="tsd-kind-icon">verify<wbr>EcDSASignature</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#verifyeddsasignature" class="tsd-kind-icon">verify<wbr>EdDSASignature</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#verifysm2signature" class="tsd-kind-icon">verifySM2<wbr>Signature</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_crypto_publickey_.publickey.html#verifysignature" class="tsd-kind-icon">verify<wbr>Signature</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a href="_crypto_publickey_.publickey.html#deserializehex" class="tsd-kind-icon">deserialize<wbr>Hex</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class tsd-parent-kind-external-module">
<a href="_crypto_publickey_.publickeystatus.html" class="tsd-kind-icon">Public<wbr>Key<wbr>Status</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<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>
</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>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<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>