📄 class_d_l___public_key_impl.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++: TemplateDL_PublicKeyImpl< GP > class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>DL_PublicKeyImpl< GP > Class Template Reference</h1><code>#include <<a class="el" href="pubkey_8h-source.html">pubkey.h</a>></code><p><p>Inheritance diagram for DL_PublicKeyImpl< GP >:<p><center><img src="class_d_l___public_key_impl.png" usemap="#DL_PublicKeyImpl< GP >_map" border="0" alt=""></center><map name="DL_PublicKeyImpl< GP >_map"><area href="class_d_l___public_key.html" alt="DL_PublicKey< GP::Element >" shape="rect" coords="0,280,216,304"><area href="class_d_l___key_impl.html" alt="DL_KeyImpl< X509PublicKey, GP >" shape="rect" coords="282,280,498,304"><area href="class_d_l___key.html" alt="DL_Key< GP::Element >" shape="rect" coords="0,224,216,248"><area href="class_x509_public_key.html" alt="X509PublicKey" shape="rect" coords="282,224,498,248"><area href="class_a_s_n1_key.html" alt="ASN1Key" shape="rect" coords="113,168,329,192"><area href="class_public_key.html" alt="PublicKey" shape="rect" coords="452,168,668,192"><area href="class_a_s_n1_crypto_material.html" alt="ASN1CryptoMaterial" shape="rect" coords="113,112,329,136"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="452,112,668,136"><area href="class_a_s_n1_object.html" alt="ASN1Object" shape="rect" coords="0,56,216,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="226,56,442,80"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="452,56,668,80"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="226,0,442,24"><area href="class_d_l___public_key___g_f_p.html" alt="DL_PublicKey_GFP< GP >" shape="rect" coords="140,392,356,416"></map><a href="class_d_l___public_key_impl-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template<class GP><br> class DL_PublicKeyImpl< GP ></h3><p><p>Definition at line <a class="el" href="pubkey_8h-source.html#l00943">943</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_implw0" doxytag="DL_PublicKeyImpl::Element"></a>typedef GP::Element </td><td class="memItemRight" valign=bottom><b>Element</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_implw0" doxytag="DL_PublicKeyImpl::GroupParameters"></a>typedef GP </td><td class="memItemRight" valign=bottom><b>GroupParameters</b></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_d_l___public_key_impla0">Validate</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">check this object for errors </em> <a href="#_d_l___public_key_impla0"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla1" doxytag="DL_PublicKeyImpl::GetVoidValue"></a>bool </td><td class="memItemRight" valign=bottom><b>GetVoidValue</b> (const char *name, const std::type_info &valueType, void *pValue) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla2" doxytag="DL_PublicKeyImpl::AssignFrom"></a>void </td><td class="memItemRight" valign=bottom><b>AssignFrom</b> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &source)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla3" doxytag="DL_PublicKeyImpl::SupportsPrecomputation"></a>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_d_l___public_key_impla3">SupportsPrecomputation</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight"><dl compact><dt><b>Returns:</b></dt><dd>whether this object supports precomputation </dd></dl><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_d_l___public_key_impla4">Precompute</a> (unsigned int precomputationStorage=16)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">do precomputation </em> <a href="#_d_l___public_key_impla4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla5" doxytag="DL_PublicKeyImpl::LoadPrecomputation"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_d_l___public_key_impla5">LoadPrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve previously saved precomputation <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla6" doxytag="DL_PublicKeyImpl::SavePrecomputation"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_d_l___public_key_impla6">SavePrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save precomputation for later use <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla7" doxytag="DL_PublicKeyImpl::GetAbstractGroupParameters"></a>const <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a><<br> Element > & </td><td class="memItemRight" valign=bottom><b>GetAbstractGroupParameters</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla8" doxytag="DL_PublicKeyImpl::AccessAbstractGroupParameters"></a><a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>< Element > & </td><td class="memItemRight" valign=bottom><b>AccessAbstractGroupParameters</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla9" doxytag="DL_PublicKeyImpl::GetPublicPrecomputation"></a>const DL_FixedBasePrecomputation<<br> Element > & </td><td class="memItemRight" valign=bottom><b>GetPublicPrecomputation</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla10" doxytag="DL_PublicKeyImpl::AccessPublicPrecomputation"></a>DL_FixedBasePrecomputation<<br> Element > & </td><td class="memItemRight" valign=bottom><b>AccessPublicPrecomputation</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_key_impla11" doxytag="DL_PublicKeyImpl::operator=="></a>bool </td><td class="memItemRight" valign=bottom><b>operator==</b> (const <a class="el" href="class_d_l___public_key_impl.html">DL_PublicKeyImpl</a>< GP > &rhs) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_keya2" doxytag="DL_PublicKeyImpl::GetPublicElement"></a>virtual const Element & </td><td class="memItemRight" valign=bottom><b>GetPublicElement</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_keya3" doxytag="DL_PublicKeyImpl::SetPublicElement"></a>virtual void </td><td class="memItemRight" valign=bottom><b>SetPublicElement</b> (const Element &y)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_keya4" doxytag="DL_PublicKeyImpl::ExponentiatePublicElement"></a>virtual Element </td><td class="memItemRight" valign=bottom><b>ExponentiatePublicElement</b> (const <a class="el" href="class_integer.html">Integer</a> &exponent) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___public_keya5" doxytag="DL_PublicKeyImpl::CascadeExponentiateBaseAndPublicElement"></a>virtual Element </td><td class="memItemRight" valign=bottom><b>CascadeExponentiateBaseAndPublicElement</b> (const <a class="el" href="class_integer.html">Integer</a> &baseExp, const <a class="el" href="class_integer.html">Integer</a> &publicExp) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_impla0" doxytag="DL_PublicKeyImpl::GetAlgorithmID"></a><a class="el" href="class_o_i_d.html">OID</a> </td><td class="memItemRight" valign=bottom><b>GetAlgorithmID</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_impla1" doxytag="DL_PublicKeyImpl::BERDecodeAlgorithmParameters"></a>bool </td><td class="memItemRight" valign=bottom><b>BERDecodeAlgorithmParameters</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_impla2" doxytag="DL_PublicKeyImpl::DEREncodeAlgorithmParameters"></a>bool </td><td class="memItemRight" valign=bottom><b>DEREncodeAlgorithmParameters</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_impla3" doxytag="DL_PublicKeyImpl::GetGroupParameters"></a>const GP & </td><td class="memItemRight" valign=bottom><b>GetGroupParameters</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___key_impla4" doxytag="DL_PublicKeyImpl::AccessGroupParameters"></a>GP & </td><td class="memItemRight" valign=bottom><b>AccessGroupParameters</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya0" doxytag="DL_PublicKeyImpl::BERDecode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x509_public_keya0">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">BufferedTransformation</a>, using BER (Basic Encoding Rules) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya1" doxytag="DL_PublicKeyImpl::DEREncode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x509_public_keya1">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">BufferedTransformation</a>, using DER (Distinguished Encoding Rules) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya5" doxytag="DL_PublicKeyImpl::BERDecodeKey"></a>virtual void </td><td class="memItemRight" valign=bottom><b>BERDecodeKey</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya6" doxytag="DL_PublicKeyImpl::BERDecodeKey2"></a>virtual void </td><td class="memItemRight" valign=bottom><b>BERDecodeKey2</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt, bool parametersPresent, unsigned int size)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya7" doxytag="DL_PublicKeyImpl::DEREncodeKey"></a>virtual void </td><td class="memItemRight" valign=bottom><b>DEREncodeKey</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x509_public_keya8" doxytag="DL_PublicKeyImpl::Save"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x509_public_keya8">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">BufferedTransformation</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x509_public_keya9">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">BufferedTransformation</a> </em> <a href="#_x509_public_keya9"></a><em><br><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_d_l___public_key_impl.html#_x509_public_keya10">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">BufferedTransformation</a>, using BER </em> <a href="#_x509_public_keya10"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha29" doxytag="DL_PublicKeyImpl::ThrowIfInvalid"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha29">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">InvalidMaterial</a> if this object fails <a class="el" href="class_crypto_material.html#_x509_public_keya12">Validate()</a> test <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha36" doxytag="DL_PublicKeyImpl::DoQuickSanityCheck"></a>void </td><td class="memItemRight" valign=bottom><b>DoQuickSanityCheck</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha37" doxytag="DL_PublicKeyImpl::GetThisObject"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha37">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha38" doxytag="DL_PublicKeyImpl::GetThisPointer"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha38">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha39" doxytag="DL_PublicKeyImpl::GetValue"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha39">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha40" doxytag="DL_PublicKeyImpl::GetValueWithDefault"></a>template<class T> T </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha40">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha41" doxytag="DL_PublicKeyImpl::GetValueNames"></a>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha41">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha42">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 </em> <a href="#_x_t_r___d_ha42"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha43" doxytag="DL_PublicKeyImpl::GetIntValueWithDefault"></a>int </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_ha43">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha44" doxytag="DL_PublicKeyImpl::GetRequiredParameter"></a>template<class T> void </td><td class="memItemRight" valign=bottom><b>GetRequiredParameter</b> (const char *className, const char *name, T &value) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha45" doxytag="DL_PublicKeyImpl::GetRequiredIntParameter"></a>void </td><td class="memItemRight" valign=bottom><b>GetRequiredIntParameter</b> (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 name="_x_t_r___d_he0" doxytag="DL_PublicKeyImpl::ThrowIfTypeMismatch"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___public_key_impl.html#_x_t_r___d_he0">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><br></td></tr></table><hr><h2>Member Function Documentation</h2><a name="_d_l___public_key_impla0" doxytag="DL_PublicKeyImpl::Validate"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" colspan="4">template<class GP> </td> </tr> <tr> <td class="md" nowrap valign="top"> bool <a class="el" href="class_d_l___public_key_impl.html">DL_PublicKeyImpl</a>< GP >::Validate </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="mdname" nowrap> <em>rng</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -