sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/crypto/api-sigmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/pt_BR/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/crypto/api-sigmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hAsymmetric Signatureh]hAsymmetric Signature}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh(struct crypto_sig *tfm, const void *key, unsigned int keylen)h](j)}(hstruct crypto_sig *tfmh](h)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j()}(h crypto_sigh]h crypto_sig}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubah}(h]h ]h"]h$]h&] refdomainjtreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.crypto_sig_set_pubkeyasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj()}(htfmh]htfm}(hj)hhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubj)}(hconst void *keyh](h)}(hjh]hconst}(hjBhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj>ubj)}(h h]h }(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubj4)}(hvoidh]hvoid}(hj]hhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hj>ubj)}(h h]h }(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubj)}(hjh]h*}(hjyhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubj()}(hkeyh]hkey}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hj>ubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubj)}(hunsigned int keylenh](j4)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj4)}(hinth]hint}(hjhhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj()}(hkeylenh]hkeylen}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubeh}(h]h ]h"]h$]h&]j?j@uh1j hjhhhjhKubeh}(h]h ]h"]h$]h&]j?j@jGuh1hjHjIhjhhhjhKubah}(h]jah ](jMjNeh"]h$]h&]jRjS)jThuh1hhjhKhjhhubjV)}(hhh]j[)}(hInvoke set public key operationh]hInvoke set public key operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jUhjhhhjhKubeh}(h]h ](jtfunctioneh"]h$]h&]jyjtjzjj{jj|j}j~uh1hhhhjThNhNubj)}(hX**Parameters** ``struct crypto_sig *tfm`` tfm handle ``const void *key`` BER encoded public key, algo OID, paramlen, BER encoded parameters ``unsigned int keylen`` length of the key (not including other data) **Description** Function invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parameters **Return** zero on success; error code in case of errorh](j[)}(h**Parameters**h]j)}(hj#h]h Parameters}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj)}(hhh](j)}(h&``struct crypto_sig *tfm`` tfm handle h](j)}(h``struct crypto_sig *tfm``h]j)}(hjBh]hstruct crypto_sig *tfm}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhj<ubj)}(hhh]j[)}(h tfm handleh]h tfm handle}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjWhKhjXubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhKhj9ubj)}(hW``const void *key`` BER encoded public key, algo OID, paramlen, BER encoded parameters h](j)}(h``const void *key``h]j)}(hj{h]hconst void *key}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjuubj)}(hhh]j[)}(hBBER encoded public key, algo OID, paramlen, BER encoded parametersh]hBBER encoded public key, algo OID, paramlen, BER encoded parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjhKhj9ubj)}(hE``unsigned int keylen`` length of the key (not including other data) h](j)}(h``unsigned int keylen``h]j)}(hjh]hunsigned int keylen}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj)}(hhh]j[)}(h,length of the key (not including other data)h]h,length of the key (not including other data)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubj[)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj[)}(hFunction invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parametersh]hFunction invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj[)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj[)}(h,zero on success; error code in case of errorh]h,zero on success; error code in case of error}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjThhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h#crypto_sig_set_privkey (C function)c.crypto_sig_set_privkeyhNtauh1hhjThhhNhNubh)}(hhh](h)}(hYint crypto_sig_set_privkey (struct crypto_sig *tfm, const void *key, unsigned int keylen)h]h)}(hXint crypto_sig_set_privkey(struct crypto_sig *tfm, const void *key, unsigned int keylen)h](j4)}(hinth]hint}(hj\hhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjXhhhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKubj)}(h h]h }(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXhhhjjhKubj")}(hcrypto_sig_set_privkeyh]j()}(hcrypto_sig_set_privkeyh]hcrypto_sig_set_privkey}(hj}hhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjyubah}(h]h ](j:j;eh"]h$]h&]j?j@uh1j!hjXhhhjjhKubj )}(h>(struct crypto_sig *tfm, const void *key, unsigned int keylen)h](j)}(hstruct crypto_sig *tfmh](h)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j()}(h crypto_sigh]h crypto_sig}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubah}(h]h ]h"]h$]h&] refdomainjtreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.crypto_sig_set_privkeyasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj()}(htfmh]htfm}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubj)}(hconst void *keyh](h)}(hjh]hconst}(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj4)}(hvoidh]hvoid}(hj&hhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjubj)}(h h]h }(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj()}(hkeyh]hkey}(hjOhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubj)}(hunsigned int keylenh](j4)}(hunsignedh]hunsigned}(hjhhhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjdubj)}(h h]h }(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubj4)}(hinth]hint}(hjhhhNhNubah}(h]h ]j@ah"]h$]h&]uh1j3hjdubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubj()}(hkeylenh]hkeylen}(hjhhhNhNubah}(h]h ]j3ah"]h$]h&]uh1j'hjdubeh}(h]h ]h"]h$]h&]noemphj?j@uh1jhjubeh}(h]h ]h"]h$]h&]j?j@uh1j hjXhhhjjhKubeh}(h]h ]h"]h$]h&]j?j@jGuh1hjHjIhjThhhjjhKubah}(h]jOah ](jMjNeh"]h$]h&]jRjS)jThuh1hhjjhKhjQhhubjV)}(hhh]j[)}(h Invoke set private key operationh]h Invoke set private key operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jUhjQhhhjjhKubeh}(h]h ](jtfunctioneh"]h$]h&]jyjtjzjj{jj|j}j~uh1hhhhjThNhNubj)}(hX**Parameters** ``struct crypto_sig *tfm`` tfm handle ``const void *key`` BER encoded private key, algo OID, paramlen, BER encoded parameters ``unsigned int keylen`` length of the key (not including other data) **Description** Function invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parameters **Return** zero on success; error code in case of errorh](j[)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj)}(hhh](j)}(h&``struct crypto_sig *tfm`` tfm handle h](j)}(h``struct crypto_sig *tfm``h]j)}(hj h]hstruct crypto_sig *tfm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj)}(hhh]j[)}(h tfm handleh]h tfm handle}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhj hKhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(hX``const void *key`` BER encoded private key, algo OID, paramlen, BER encoded parameters h](j)}(h``const void *key``h]j)}(hjDh]hconst void *key}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhj>ubj)}(hhh]j[)}(hCBER encoded private key, algo OID, paramlen, BER encoded parametersh]hCBER encoded private key, algo OID, paramlen, BER encoded parameters}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjZubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjYhKhjubj)}(hE``unsigned int keylen`` length of the key (not including other data) h](j)}(h``unsigned int keylen``h]j)}(hj~h]hunsigned int keylen}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjxubj)}(hhh]j[)}(h,length of the key (not including other data)h]h,length of the key (not including other data)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubj[)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhMhjubj[)}(hFunction invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parametersh]hFunction invokes the algorithm specific set key function, which knows how to decode and interpret the encoded key and parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj[)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhKhjubj[)}(h,zero on success; error code in case of errorh]h,zero on success; error code in case of error}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:16: ./include/crypto/sig.hhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjThhhNhNubeh}(h]asymmetric-signature-apiah ]h"]asymmetric signature apiah$]h&]uh1hhhhhhhhK ubeh}(h]asymmetric-signatureah ]h"]asymmetric signatureah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj?error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehʌ _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjQjNjju nametypes}(jjQjuh}(jhjNhhhjjTjjjgjljjj j j4 j9 j j jjjjjOjTu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.