📄 class_d_l___public_key_impl.html
字号:
GP & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key_impl.html#2ec144a5bedd2151b4bd0bb5118f1a8f">AccessGroupParameters</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4eb86b0b55185f10a13ff7e1b083a67b"></a><!-- doxytag: member="DL_PublicKeyImpl::BERDecode" ref="4eb86b0b55185f10a13ff7e1b083a67b" args="(BufferedTransformation &bt)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x509_public_key.html#4eb86b0b55185f10a13ff7e1b083a67b">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">decode this object from a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a>, using BER (Basic Encoding Rules) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfd76c247053ce6f771411ea2b5a9ff5"></a><!-- doxytag: member="DL_PublicKeyImpl::DEREncode" ref="dfd76c247053ce6f771411ea2b5a9ff5" args="(BufferedTransformation &bt) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x509_public_key.html#dfd76c247053ce6f771411ea2b5a9ff5">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">encode this object into a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a>, using DER (Distinguished Encoding Rules) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c60ac987c0d3c6aa537155946729c51"></a><!-- doxytag: member="DL_PublicKeyImpl::BERDecodePublicKey" ref="3c60ac987c0d3c6aa537155946729c51" args="(BufferedTransformation &bt, bool parametersPresent, size_t size)=0" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x509_public_key.html#3c60ac987c0d3c6aa537155946729c51">BERDecodePublicKey</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt, bool parametersPresent, size_t size)=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8d06ad72e977bb175dabad152604d66"></a><!-- doxytag: member="DL_PublicKeyImpl::DEREncodePublicKey" ref="a8d06ad72e977bb175dabad152604d66" args="(BufferedTransformation &bt) const =0" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x509_public_key.html#a8d06ad72e977bb175dabad152604d66">DEREncodePublicKey</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const =0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8092ce7a774430f54c70632812ce3399"></a><!-- doxytag: member="DL_PublicKeyImpl::Save" ref="8092ce7a774430f54c70632812ce3399" args="(BufferedTransformation &bt) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_s_n1_crypto_material.html#8092ce7a774430f54c70632812ce3399">Save</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save key into a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_s_n1_crypto_material.html#23d34a094f5765a1cf51f22ae1233f66">Load</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">load key from a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <a href="#23d34a094f5765a1cf51f22ae1233f66"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_s_n1_object.html#b8446b61690a19015d3d565d86dd1d3d">BEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">encode this object into a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a>, using BER <a href="#b8446b61690a19015d3d565d86dd1d3d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="edb65ba5323f7bb41fc57973566d20cd"></a><!-- doxytag: member="DL_PublicKeyImpl::ThrowIfInvalid" ref="edb65ba5323f7bb41fc57973566d20cd" args="(RandomNumberGenerator &rng, unsigned int level) const" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#edb65ba5323f7bb41fc57973566d20cd">ThrowIfInvalid</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int level) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">throws <a class="el" href="class_crypto_material_1_1_invalid_material.html" title="exception thrown when invalid crypto material is detected">InvalidMaterial</a> if this object fails <a class="el" href="class_crypto_material.html#439743c6b4e89ca8228a12fa1ea43ab1" title="check this object for errors">Validate()</a> test <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1da44802c5cf00946043922cb9e7e6e"></a><!-- doxytag: member="DL_PublicKeyImpl::DoQuickSanityCheck" ref="a1da44802c5cf00946043922cb9e7e6e" args="() const" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#a1da44802c5cf00946043922cb9e7e6e">DoQuickSanityCheck</a> () const</td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="16d9f1685fbb1be3f29a22dbba911142"></a><!-- doxytag: member="DL_PublicKeyImpl::GetThisObject" ref="16d9f1685fbb1be3f29a22dbba911142" args="(T &object) const" -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#16d9f1685fbb1be3f29a22dbba911142">GetThisObject</a> (T &object) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a copy of this object or a subobject of it <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="01c64a1e0a5f667898b4c1968a853c0f"></a><!-- doxytag: member="DL_PublicKeyImpl::GetThisPointer" ref="01c64a1e0a5f667898b4c1968a853c0f" args="(T *&p) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#01c64a1e0a5f667898b4c1968a853c0f">GetThisPointer</a> (T *&p) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a pointer to this object, as a pointer to T <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="96686e9f8d6ce3ab870e516fb72b608e"></a><!-- doxytag: member="DL_PublicKeyImpl::GetValue" ref="96686e9f8d6ce3ab870e516fb72b608e" args="(const char *name, T &value) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#96686e9f8d6ce3ab870e516fb72b608e">GetValue</a> (const char *name, T &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns true if the name exists <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="943b2009297783f1c35bae46efc3b5f7"></a><!-- doxytag: member="DL_PublicKeyImpl::GetValueWithDefault" ref="943b2009297783f1c35bae46efc3b5f7" args="(const char *name, T defaultValue) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#943b2009297783f1c35bae46efc3b5f7">GetValueWithDefault</a> (const char *name, T defaultValue) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns the default if the name doesn't exist <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13faea827ee047cd58557282806ed2e1"></a><!-- doxytag: member="DL_PublicKeyImpl::GetValueNames" ref="13faea827ee047cd58557282806ed2e1" args="() const" -->std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#13faea827ee047cd58557282806ed2e1">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#39b6daefcabcdd07f5ae482a075e1728">GetIntValue</a> (const char *name, int &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int <a href="#39b6daefcabcdd07f5ae482a075e1728"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ddb654b7afcd1a04422a7b4b01366d9"></a><!-- doxytag: member="DL_PublicKeyImpl::GetIntValueWithDefault" ref="7ddb654b7afcd1a04422a7b4b01366d9" args="(const char *name, int defaultValue) const" -->int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#7ddb654b7afcd1a04422a7b4b01366d9">GetIntValueWithDefault</a> (const char *name, int defaultValue) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int, with default <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c66048d3bc2a741712486d02e1f75d78"></a><!-- doxytag: member="DL_PublicKeyImpl::GetRequiredParameter" ref="c66048d3bc2a741712486d02e1f75d78" args="(const char *className, const char *name, T &value) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#c66048d3bc2a741712486d02e1f75d78">GetRequiredParameter</a> (const char *className, const char *name, T &value) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e6596c87ad9c2bb7f2a4d7b2194b949"></a><!-- doxytag: member="DL_PublicKeyImpl::GetRequiredIntParameter" ref="1e6596c87ad9c2bb7f2a4d7b2194b949" args="(const char *className, const char *name, int &value) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#1e6596c87ad9c2bb7f2a4d7b2194b949">GetRequiredIntParameter</a> (const char *className, const char *name, int &value) const </td></tr><tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a50a73b1705adb00ace9463b59696fb7"></a><!-- doxytag: member="DL_PublicKeyImpl::ThrowIfTypeMismatch" ref="a50a73b1705adb00ace9463b59696fb7" args="(const char *name, const std::type_info &stored, const std::type_info &retrieving)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#a50a73b1705adb00ace9463b59696fb7">ThrowIfTypeMismatch</a> (const char *name, const std::type_info &stored, const std::type_info &retrieving)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">used by derived classes to check for type mismatch <br></td></tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="d915aa79d9a19b4c7a6bab99181250b1"></a><!-- doxytag: member="DL_PublicKeyImpl::Validate" ref="d915aa79d9a19b4c7a6bab99181250b1" args="(RandomNumberGenerator &rng, unsigned int level) const" --><div class="memitem"><div class="memproto"><div class="memtemplate">template<class GP> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_d_l___public_key_impl.html">DL_PublicKeyImpl</a>< GP >::Validate </td> <td>(</td> <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="paramname"> <em>rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>level</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td> </tr> </table></div><div class="memdoc"><p>check this object for errors <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the tests pass </dd></dl><p>Implements <a class="el" href="class_crypto_material.html#439743c6b4e89ca8228a12fa1ea43ab1">CryptoMaterial</a>.<p>Definition at line <a class="el" href="pubkey_8h-source.html#l00845">845</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.</div></div><p><a class="anchor" name="95e25f6632ec2621289d10abc557b17b"></a><!-- doxytag: member="DL_PublicKeyImpl::Precompute" ref="95e25f6632ec2621289d10abc557b17b" args="(unsigned int precomputationStorage=16)" --><div class="memitem">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -