*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]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)}(h*Asymmetric Signature Algorithm Definitionsh]h*Asymmetric Signature Algorithm Definitions}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh(struct crypto_sig *tfm, const void *key, unsigned int keylen)h](j)}(hstruct crypto_sig *tfmh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(hhh]j)}(h crypto_sigh]h crypto_sig}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjOreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.crypto_sig_set_pubkeyasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubj)}(hjh]h*}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(htfmh]htfm}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubj)}(hconst void *keyh](h)}(hjh]hconst}(hjHhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjDubh)}(h h]h }(hjUhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjDubj)}(hvoidh]hvoid}(hjchhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDubh)}(h h]h }(hjqhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjDubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDubj)}(hkeyh]hkey}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubj)}(hunsigned int keylenh](j)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubj)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubj)}(hkeylenh]hkeylen}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubeh}(h]h ]h"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj"uh1hj#j$hjhhhjhKubah}(h]jah ](j(j)eh"]h$]h&]j-j.)j/huh1hhjhKhjhhubj1)}(hhh]j6)}(hInvoke set public key operationh]hInvoke set public key operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjhhubah}(h]h ]h"]h$]h&]uh1j0hjhhhjhKubeh}(h]h ](jOfunctioneh"]h$]h&]jTjOjUjjVjjWjXjYuh1hhhhj/hNhNubj[)}(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](j6)}(h**Parameters**h]je)}(hj)h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jdhj'ubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj#ubj)}(hhh](j)}(h&``struct crypto_sig *tfm`` tfm handle h](j)}(h``struct crypto_sig *tfm``h]j)}(hjHh]hstruct crypto_sig *tfm}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjBubj)}(hhh]j6)}(h tfm handleh]h tfm handle}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj]hKhj^ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj]hKhj?ubj)}(hW``const void *key`` BER encoded public key, algo OID, paramlen, BER encoded parameters h](j)}(h``const void *key``h]j)}(hjh]hconst void *key}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj{ubj)}(hhh]j6)}(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&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj?ubj)}(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:13: ./include/crypto/sig.hhKhjubj)}(hhh]j6)}(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&]uh1j5hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj?ubeh}(h]h ]h"]h$]h&]uh1jhj#ubj6)}(h**Description**h]je)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jdhjubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj#ubj6)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj#ubj6)}(h **Return**h]je)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jdhjubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj#ubj6)}(h,zero on success; error code in case of errorh]h,zero on success; error code in case of error}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jZhj/hhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hČ#crypto_sig_set_privkey (C function)c.crypto_sig_set_privkeyhNtauh1hhj/hhhNhNubh)}(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](j)}(hinth]hint}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^hhhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhMubh)}(h h]h }(hjqhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj^hhhjphMubh)}(hcrypto_sig_set_privkeyh]j)}(hcrypto_sig_set_privkeyh]hcrypto_sig_set_privkey}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1hhj^hhhjphMubj)}(h>(struct crypto_sig *tfm, const void *key, unsigned int keylen)h](j)}(hstruct crypto_sig *tfmh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(hhh]j)}(h crypto_sigh]h crypto_sig}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjOreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.crypto_sig_set_privkeyasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(htfmh]htfm}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubj)}(hconst void *keyh](h)}(hjh]hconst}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubj)}(hvoidh]hvoid}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh)}(h h]h }(hj:hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubj)}(hjh]h*}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(hkeyh]hkey}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubj)}(hunsigned int keylenh](j)}(hunsignedh]hunsigned}(hjnhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjjubh)}(h h]h }(hj|hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjjubj)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjjubh)}(h h]h }(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjjubj)}(hkeylenh]hkeylen}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubeh}(h]h ]h"]h$]h&]jjuh1jhj^hhhjphMubeh}(h]h ]h"]h$]h&]jjj"uh1hj#j$hjZhhhjphMubah}(h]jUah ](j(j)eh"]h$]h&]j-j.)j/huh1hhjphMhjWhhubj1)}(hhh]j6)}(h Invoke set private key operationh]h Invoke set private key operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjhhubah}(h]h ]h"]h$]h&]uh1j0hjWhhhjphMubeh}(h]h ](jOfunctioneh"]h$]h&]jTjOjUjjVjjWjXjYuh1hhhhj/hNhNubj[)}(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](j6)}(h**Parameters**h]je)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jdhjubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjubj)}(hhh](j)}(h&``struct crypto_sig *tfm`` tfm handle h](j)}(h``struct crypto_sig *tfm``h]j)}(hjh]hstruct crypto_sig *tfm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj ubj)}(hhh]j6)}(h tfm handleh]h tfm handle}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj&hKhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(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)}(hjJh]hconst void *key}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jhS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjDubj)}(hhh]j6)}(hCBER encoded private key, algo OID, paramlen, BER encoded parametersh]hCBER encoded private key, algo OID, paramlen, BER encoded parameters}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhj`ubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj_hKhjubj)}(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:13: ./include/crypto/sig.hhKhj~ubj)}(hhh]j6)}(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&]uh1j5hjhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubj6)}(h**Description**h]je)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jdhjubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhMhjubj6)}(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&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjubj6)}(h **Return**h]je)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jdhjubah}(h]h ]h"]h$]h&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhKhjubj6)}(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&]uh1j5hS/var/lib/git/docbuild/linux/Documentation/crypto/api-sig:13: ./include/crypto/sig.hhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jZhj/hhhNhNubeh}(h]asymmetric-signature-apiah ]h"]asymmetric signature apiah$]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}(j,j)jju nametypes}(j,juh}(j)hhhjj/j[j`jmjrj j j j j: j? j j jjjjjUjZu 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.