autodoc.git / autodoc.xml

version» Context lines:

autodoc.git/autodoc.xml:96497:   <variable name='lr_error'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='make_parser' homogen-type='method'><doc><text><p>Compiles the parser-specification given in the first argument.    Named actions are taken from the object if available, otherwise    left as is.</p>   </text><group><bugs/><text><p>Returns error-code in both GrammarParser.error and    return_value-&gt;lr_error.</p>   </text></group></doc>   <method name='make_parser'>   <arguments><argument name='str'><type><string/></type></argument><argument name='m'><type><or><object resolved='predef::Parser.LR.GrammarParser.make_parser'/><void/></or></type></argument></arguments> - <returntype><object resolved='predef::Parser.LR.Parser'>Parser</object></returntype> + <returntype><object resolved='predef::Parser'>Parser</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_parser_from_file' homogen-type='method'><doc><text><p>Compiles the file specified in the first argument into an LR parser.</p>   </text><group><seealso/><text><p><ref resolved='predef::Parser.LR.GrammarParser.make_parser'>make_parser</ref></p>   </text></group></doc>   <method name='make_parser_from_file'>   <arguments><argument name='fname'><type><string/></type></argument><argument name='m'><type><or><object resolved='predef::Parser.LR.GrammarParser.make_parser_from_file'/><void/></or></type></argument></arguments> - <returntype><or><int/><object resolved='predef::Parser.LR.Parser'>Parser</object></or></returntype> + <returntype><or><int/><object resolved='predef::Parser'>Parser</object></or></returntype>   </method>   </docgroup>   </module>   <class name='Parser'>   <doc><text><p>This object implements an LALR(1) parser and compiler.</p>   <p> Normal use of this object would be:</p>   <p> <pre>    set_error_handler    {add_rule, set_priority, set_associativity}*    set_symbol_to_string
autodoc.git/autodoc.xml:114624:   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Constants' homogen-type='import'>   <import name='Constants'><classname resolved='predef::SSL.Constants'>.Constants</classname></import>   </docgroup>   <docgroup homogen-name='lookup' homogen-type='method'><doc><text><p>Lookup the crypto parameters for a cipher suite.</p>   </text><group><param name='suite'/><text><p>Cipher suite to lookup.</p>   </text></group><group><param name='version'/><text><p>Version of the SSL/TLS protocol to support.</p> - </text></group><group><param name='signature_algorithms'/><text><p>The set of &lt;hash, signature&gt; combinations that + </text></group><group><param name='signature_algorithms'/><text><p>The set of <ref resolved='predef::SSL.Constants.SignatureScheme'>SignatureScheme</ref> values that    are supported by the other end.</p>   </text></group><group><param name='max_hash_size'/><text><p>The maximum hash size supported for the signature algorithm.</p>   </text></group><group><returns/><text><p>Returns <expr>0</expr> (zero) for unsupported combinations, otherwise    returns an initialized <ref resolved='predef::SSL.Cipher.CipherSpec'>CipherSpec</ref> for the <ref resolved='predef::SSL.Cipher.lookup.suite'>suite</ref>.</p>   </text></group></doc>   <method name='lookup'> - <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><or><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object><int/></or></type></argument><argument name='signature_algorithms'><type><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></type></argument><argument name='max_hash_size'><type><int/></type></argument></arguments> + <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><or><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object><int/></or></type></argument><argument name='signature_algorithms'><type><array><valuetype><int/></valuetype></array></type></argument><argument name='max_hash_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::SSL.Cipher.CipherSpec'>CipherSpec</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='prf_sha384' homogen-type='method'><doc><text><p>This Pseudo Random Function is used to derive secret keys    for some ciphers suites defined after TLS 1.2.</p>   </text></doc>   <method name='prf_sha384'>   <arguments><argument name='secret'><type><string><min>0</min><max>255</max></string></type></argument><argument name='label'><type><string><min>0</min><max>255</max></string></type></argument><argument name='seed'><type><string><min>0</min><max>255</max></string></type></argument><argument name='len'><type><int/></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>
autodoc.git/autodoc.xml:115516:   </docgroup>   <docgroup homogen-name='fmt_constant' homogen-type='method'><doc><text><p>Return a descriptive name for a constant value.</p>   </text><group><param name='c'/><text><p>Value to format.</p>   </text></group><group><param name='prefix'/><text><p>Constant name prefix. Eg <expr>"CONNECTION"</expr>.</p>   </text></group></doc>   <method name='fmt_constant'>   <arguments><argument name='c'><type><int/></type></argument><argument name='prefix'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> - <docgroup homogen-name='fmt_signature_pairs' homogen-type='method'><doc><text><p>Pretty-print an array of signature pairs.</p> + <docgroup homogen-name='fmt_signature_pairs' homogen-type='method'><doc><text><p>Pretty-print an array of <ref resolved='predef::SSL.Constants.SignatureScheme'>SignatureScheme</ref>s.</p>   </text><group><param name='pairs'/><text><p>Array of signature pairs to format.</p>   </text></group></doc>   <method name='fmt_signature_pairs'> - <arguments><argument name='pairs'><type><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></type></argument></arguments> + <arguments><argument name='pairs'><type><array><valuetype><int/></valuetype></array></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='fmt_version' homogen-type='method'><doc><text><p>Pretty-print a <ref resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</ref>.</p>   </text><group><param name='version'/><text><p><ref resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</ref> to format.</p>   </text></group></doc>   <method name='fmt_version'>   <arguments><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><string/></returntype>   </method>
autodoc.git/autodoc.xml:115601:    as supported by TLS 1.2 and later.</p>   </text></doc>   <variable name='ke_mask_invariant'><type><int><min>0</min><max/></int></type></variable>   </docgroup>   <docgroup homogen-name='key' homogen-type='variable'><doc><text><p>Private key.</p>   </text></doc>   <variable name='key'><type><object resolved='predef::Crypto.Sign.State'>Crypto.Sign.State</object></type></variable>   </docgroup>   <docgroup homogen-name='sign_algs' homogen-type='variable'><doc><text><p>TLS 1.2-style hash and signature pairs matching the <ref resolved='predef::SSL.Constants.CertificatePair.certs'>certs</ref>.</p>   </text></doc> - <variable name='sign_algs'><type><array><valuetype><array><valuetype><or><object resolved='predef::SSL.Constants.HashAlgorithm'>HashAlgorithm</object><object resolved='predef::SSL.Constants.SignatureAlgorithm'>SignatureAlgorithm</object></or></valuetype></array></valuetype></array></type></variable> + <variable name='sign_algs'><type><array><valuetype><object resolved='predef::SSL.Constants.SignatureScheme'>SignatureScheme</object></valuetype></array></type></variable>   </docgroup>   </class>   <enum name='CertificateType'>   <doc><text><p>Certificate format types as per <rfc>6091</rfc> and <rfc>7250</rfc>.</p>   </text></doc>   <docgroup homogen-type='constant'><constant name='CERTTYPE_x509'/>   <constant name='CERTTYPE_openpgp'/>   <constant name='CERTTYPE_raw_public_key'/>   </docgroup>   </enum>
autodoc.git/autodoc.xml:116292:   </text></doc>   <method name='get_psk_id'><modifiers><optional/></modifiers>   <arguments><argument name='hint'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_signature_algorithms' homogen-type='method'><doc><text><p>Get the (filtered) set of locally supported signature algorithms.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.Context.get_signature_algorithms.signature_algorithms'>signature_algorithms</ref></p>   </text></group></doc>   <method name='get_signature_algorithms'> - <arguments><argument name='signature_algorithms'><type><or><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array><void/></or></type></argument></arguments> - <returntype><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></returntype> + <arguments><argument name='signature_algorithms'><type><or><array><valuetype><int/></valuetype></array><void/></or></type></argument></arguments> + <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_suites' homogen-type='method'><doc><text><p>Get the prioritized list of supported cipher suites    that satisfy the requirements.</p>   </text><group><param name='min_keylength'/><text><p>Minimum supported effective keylength in bits. Defaults to <expr>128</expr>.    Specify <expr>-1</expr> to enable null ciphers.</p>   </text></group><group><param name='ke_mode'/><text><p>Level of protection for the key exchange.</p>   <int><group><value>0</value><text><p>Require forward secrecy (ephemeral keys).</p>   </text></group><group><value>1</value><text><p>Also allow certificate based key exchanges.</p>   </text></group><group><value>2</value><text><p>Also allow anonymous server key exchange. Note that this
autodoc.git/autodoc.xml:116483:   <p> Only used with TLS 1.2 and later.</p>   <p> Defaults to all combinations supported by Pike except for MD5.</p>   <p> This list is typically filtered by <ref resolved='predef::SSL.Context.get_signature_algorithms'>get_signature_algorithms()</ref>    to get rid of combinations not supported by the runtime.</p>   </text><group><note/><text><p>According to <rfc>5246:7.4.2</rfc> all certificates needs to be    signed by any of the supported signature algorithms. To be    forward compatible this list needs to be limited to the    combinations that have existing PKCS identifiers.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.Context.get_signature_algorithms'>get_signature_algorithms()</ref></p>   </text></group></doc> - <variable name='signature_algorithms'><type><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></type></variable> + <variable name='signature_algorithms'><type><array><valuetype><int/></valuetype></array></type></variable>   </docgroup>   <docgroup homogen-name='sort_suites' homogen-type='method'><doc><text><p>Sort a set of cipher suites according to our preferences.</p>   </text><group><returns/><text><p>Returns the array sorted with the most preferrable (aka "best")    cipher suite first.</p>   </text></group><group><note/><text><p>The original array (<ref resolved='predef::SSL.Context.sort_suites.suites'>suites</ref>) is modified destructively,    but is not the same array as the result.</p>   </text></group></doc>   <method name='sort_suites'>   <arguments><argument name='suites'><type><array><valuetype><int/></valuetype></array></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>
autodoc.git/autodoc.xml:117515:   </docgroup>   <docgroup homogen-name='set_cipher_suite' homogen-type='method'><doc><text><p>Sets the proper authentication method and cipher specification    for the given parameters.</p>   </text><group><param name='suite'/><text><p>The cipher suite to use, selected from the set that the client    claims to support.</p>   </text></group><group><param name='version'/><text><p>The SSL protocol version to use.</p>   </text></group><group><param name='signature_algorithms'/><text><p>The set of signature algorithms tuples that the client claims to    support.</p>   </text></group><group><param name='max_hash_size'/></group></doc>   <method name='set_cipher_suite'> - <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument><argument name='signature_algorithms'><type><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></type></argument><argument name='max_hash_size'><type><int/></type></argument></arguments> + <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument><argument name='signature_algorithms'><type><array><valuetype><int/></valuetype></array></type></argument><argument name='max_hash_size'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_compression_method' homogen-type='method'><doc><text><p>Sets the compression method. Currently only <ref resolved='predef::SSL.Constants.CompressionType.COMPRESSION_null'>COMPRESSION_null</ref>    and <ref resolved='predef::SSL.Constants.CompressionType.COMPRESSION_deflate'>COMPRESSION_deflate</ref> are supported.</p>   </text></doc>   <method name='set_compression_method'>   <arguments><argument name='compr'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='signature_algorithms' homogen-type='variable'><doc><text><p>The set of &lt;hash, signature&gt; combinations supported by the peer.</p>   <p> Only used with TLS 1.2 and later.</p>   <p> Defaults to the settings from <rfc>5246:7.4.1.4.1</rfc>.</p>   </text></doc> - <variable name='signature_algorithms'><type><array><valuetype><array><valuetype><int/></valuetype></array></valuetype></array></type></variable> + <variable name='signature_algorithms'><type><array><valuetype><int/></valuetype></array></type></variable>   </docgroup>   <docgroup homogen-name='ticket' homogen-type='variable'><doc><text><p>Alternative identification of the session to the server.</p>   </text><group><seealso/><text><p><rfc>4507</rfc>, <rfc>5077</rfc></p>   </text></group></doc>   <variable name='ticket'><type><string><min>0</min><max>255</max></string></type></variable>   </docgroup>   <docgroup homogen-name='ticket_expiry_time' homogen-type='variable'><doc><text><p>Expiry time for <ref resolved='predef::SSL.Session.ticket'>ticket</ref>.</p>   </text></doc>   <variable name='ticket_expiry_time'><type><int/></type></variable>   </docgroup>
autodoc.git/autodoc.xml:123873:    public keys must be set.</p>   </text></group><group><param name='name'/><text><p>The distinguished name for the certificate.</p>   </text></group><group><param name='attributes'/><text><p>Attributes from PKCS #9 to add to the certificate.</p>   </text></group><group><param name='hash'/><text><p>Hash algoritm to use for the CSR signature.    Defaults to <ref resolved='predef::Crypto.SHA256'>Crypto.SHA256</ref>.</p>   </text></group><group><note/><text><p>Prior to Pike 8.0 this function only supported signing    with <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref> and the default (and only) hash was    <ref resolved='predef::Crypto.MD5'>Crypto.MD5</ref>.</p>   </text></group></doc>   <method name='build_csr'> - <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments> + <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Types' homogen-type='import'>   <import name='Types'><classname resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</classname></import>   </docgroup>   <docgroup homogen-name='sign_cri' homogen-type='method'><doc><text><p>Sign a <ref resolved='predef::Standards.PKCS.CSR.CRI'>CRI</ref> to generate a Certificate Signing Request.</p>
autodoc.git/autodoc.xml:124323:   <p>Setting</p>   <p> The signature.</p>   </text></doc>   <variable name='signature'><type><object resolved='predef::Standards.ASN1.Types.BitString'>BitString</object></type></variable>   </docgroup>   <docgroup homogen-name='tbs' homogen-type='variable'><doc><text><p>Getting</p>   <p> ASN.1 structure that has been signed.</p>   <p>Setting</p>   <p> ASN.1 structure that has been signed.</p>   </text></doc> - <variable name='tbs'><type><object resolved='predef::Object'>Object</object></type></variable> + <variable name='tbs'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></variable>   </docgroup>   </class>   </module>   </module>   <module name='TLD'>   <docgroup homogen-name='cc' homogen-type='constant'><doc><text><p>A mapping between country TLDs and the name of the country.</p>   </text></doc>   <constant name='cc'/>   </docgroup>   <docgroup homogen-name='generic' homogen-type='variable'><doc><text><p>A multiset containing the generic TLDs, such as "com" and "info".</p>
autodoc.git/autodoc.xml:124835:   <method name='load_authorities'>   <arguments><argument name='root_cert_dirs'><type><or><string/><array><valuetype><string/></valuetype></array><void/></or></type></argument><argument name='cache'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.X509.Verifier'>Verifier</object></valuetype></array></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_extension' homogen-type='method'><doc><text><p>Creates a certificate extension with the <ref resolved='predef::Standards.X509.make_extension.id'>id</ref> as identifier and    <ref resolved='predef::Standards.X509.make_extension.ext'>ext</ref> as the extension payload. If the <ref resolved='predef::Standards.X509.make_extension.critical'>critical</ref> flag is set    the extension will be marked as critical.</p>   </text></doc>   <method name='make_extension'> - <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_selfsigned_certificate' homogen-type='method'><doc><text><p>Creates a selfsigned certificate, i.e. where issuer and subject    are the same entity. This entity is derived from the list of pairs    in <ref resolved='predef::Standards.X509.make_selfsigned_certificate.name'>name</ref>, which is encoded into an distinguished_name by    <ref resolved='predef::Standards.PKCS.Certificate.build_distinguished_name'>Standards.PKCS.Certificate.build_distinguished_name</ref>.</p>   </text><group><param name='c'/><text><p>The public key cipher used for the certificate, <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref>,    <ref resolved='predef::Crypto.DSA'>Crypto.DSA</ref> or <ref resolved='predef::Crypto.ECC.Curve.ECDSA'>Crypto.ECC.Curve.ECDSA</ref>. The object should be    initialized with both public and private keys.</p>
autodoc.git/autodoc.xml:125119:   </docgroup>   <docgroup homogen-name='ext_subjectKeyIdentifier' homogen-type='variable'><doc><text><p>Set to the value of the SubjectKeyIdentifier if the certificate    contains the subjectKeyIdentifier    extension. <rfc>3280:4.2.1.2</rfc>.</p>   </text></doc>   <variable name='ext_subjectKeyIdentifier'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group><group><note/><text><p>Read only</p>   </text></group></doc> - <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable> + <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='hash' homogen-type='variable'><doc><text><p>Algorithm hash if known and supported.    Otherwise <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref>.</p>   </text><group><note/><text><p>Read only</p>   </text></group></doc>   <variable name='hash'><type><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></type></variable>   </docgroup>   <docgroup homogen-name='Sequence' homogen-type='inherit'>   <inherit name='Sequence'><classname resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</classname></inherit>   </docgroup>   <docgroup homogen-name='init' homogen-type='method'><doc><text><p>Populates the object from a certificate decoded into an ASN.1    Object. Returns the object on success, otherwise <expr>0</expr>. You    probably want to call <ref resolved='predef::Standards.X509.decode_certificate'>decode_certificate</ref> or even    <ref resolved='predef::Standards.X509.verify_certificate'>verify_certificate</ref>.</p>   </text></doc>   <method name='init'> - <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Object'>Object</object></or></type></argument></arguments> + <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.X509.TBSCertificate'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='internal_critical' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='internal_critical'><modifiers><protected/></modifiers><type><multiset/></type></variable>   </docgroup>   <docgroup homogen-name='internal_extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc> - <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable> + <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='issuer' homogen-type='variable'><doc><text><p>Certificate issuer.</p>   </text></doc>   <variable name='issuer'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='issuer_id' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='issuer_id'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='keyinfo' homogen-type='variable'>