ffF 4ddlmZmZmZmZmZdZdZdZdS)) DerSequence DerInteger DerBitString DerObjectIdDerNullct|d}t|dd}t|d}t|dj}t |dkrd}n: t |dd}n#|d}YnxYw|j||fS)zParse a SubjectPublicKeyInfo structure. It returns a triple with: * OID (string) * encoded public key (bytes) * Algorithm parameters (bytes or None)  nr_elementsr)r r N)rdecoderrvaluelenr)encodedspkialgoalgo_oidspk algo_paramss {/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/PublicKey/__init__.py_expand_subject_public_key_infors* ==  Q  7 7D ==  QU  ; ;D}}##DG,,H ..  Q ( ( .C 4yyA~~  " II  T!W % % %KK "q'KKK >3 ++s 7)C!! C-c|tt|g}ntt||g}t|t|g}|S)N)rrrencode)r public_keyparams algorithmrs r_create_subject_public_key_infor?sl ~X!6!6 788 X!6!6 ?@@  $Z00  D ;;==ct|d}t|dtdd}d} |ddzd}nS#t$rFt d|dj}|d vrt d d}YnwxYw||S) z:Extract subjectPublicKeyInfo from a DER X.509 certificate.r r r )explicit)r r z#Incorrect X.509 certificate version)rr range TypeErrorrr ValueError)x509_certificate certificatetbs_certificateindexversions r _extract_subject_public_key_infor-Ls--&&'7Q&GGK!mm**;q>7r0s*33333333333333#,#,#,L   """""r