Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
°‹EYc@sødZddlmZddlmZddlmZmZddlm	Z	ddl
mZmZddl
mZddlmZdd	lmZdd
lmZddlmZdefd
„ƒYZdefd„ƒYZdefd„ƒYZdS(s
ECDSA keys
iÿÿÿÿ(tInvalidSignature(tdefault_backend(thashest
serialization(tec(tdecode_dss_signaturetencode_dss_signature(t	four_byte(tMessage(tPKey(tSSHException(tdeflate_longt_ECDSACurvecBseZdZd„ZRS(sì
    Represents a specific ECDSA Curve (nistp256, nistp384, etc).

    Handles the generation of the key format identifier and the selection of
    the proper hash function. Also grabs the proper curve from the 'ecdsa'
    package.
    cCsz||_|j|_d|j|_|jdkrCtj|_n*|jdkratj|_ntj|_||_	dS(Nsecdsa-sha2-ii€(
t	nist_nametkey_sizet
key_lengthtkey_format_identifierRtSHA256thash_objecttSHA384tSHA512tcurve_class(tselfRR
((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt__init__.s	(t__name__t
__module__t__doc__R(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR&st_ECDSACurveSetcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s°
    A collection to hold the ECDSA curves. Allows querying by oid and by key
    format identifier. The two ways in which ECDSAKey needs to be able to look
    up curves.
    cCs
||_dS(N(tecdsa_curves(RR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRFscCsg|jD]}|j^q
S(N(RR(Rtcurve((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytget_key_format_identifier_listIscCs+x$|jD]}|j|kr
|Sq
WdS(N(RR(RRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytget_by_curve_classLscCs+x$|jD]}|j|kr
|Sq
WdS(N(RR(RRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytget_by_key_format_identifierQscCs+x$|jD]}|j|kr
|Sq
WdS(N(RR(RRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytget_by_key_lengthVs(RRRRRRR R!(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR@s				tECDSAKeycBseZdZeeejdƒeejdƒeejdƒgƒZ	dddddded„Ze
d„ƒZd„Zd„Zd„Zd	„Zd
„Zd„Zd„Zd
„Zdd„Zdd„Ze
ejƒddd„ƒZd„Zd„Zd„Zd„Zd„ZRS(s\
    Representation of an ECDSA key which can be used to sign and verify SSH2
    data.
    tnistp256tnistp384tnistp521cCs­d|_d|_|dk	r2|j||ƒdS|dk	rR|j||ƒdS|dkry|dk	ryt|ƒ}n|dk	r¾|\|_|_|jjj}|jj	|ƒ|_
në|dkrÙtdƒ‚n|jj|j
ƒƒ|_
|j
dkrtdƒ‚n|j
ƒ}	|	|j
jkrCtd|	ƒ‚n|jƒ}
y"tjj|j
jƒ|
ƒ}Wntk
rtdƒ‚nX|jdtƒƒ|_dS(NsKey object may not be emptysInvalid keysCan't handle curve of type %ssInvalid public keytbackend(tNonet
verifying_keytsigning_keyt_from_private_keyt_from_private_key_fileRRt	__class__t
_ECDSA_CURVESRtecdsa_curveR
R tget_textR
t
get_binaryRtEllipticCurvePublicNumberstfrom_encoded_pointRt
ValueErrort
public_keyR(Rtmsgtdatatfilenametpasswordtvalstfile_objtvalidate_pointtc_classt	curvenamet	pointinfotnumbers((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRhs<				
cCs
|jjƒS(N(R-R(tcls((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt supported_key_format_identifiersŒscCs×|j}tƒ}|j|jjƒ|j|jjƒ|jƒ}|jjdd}t	|j
dtƒ}d|t|ƒ|}t	|j
dtƒ}d|t|ƒ|}t||}|j|ƒ|jƒS(Niitadd_sign_paddingt(R(Rt
add_stringR.RR
tpublic_numbersRRRtxtFalsetlentyRtasbytes(RtkeytmR?tkey_size_bytestx_bytesty_bytest	point_str((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRJs		
cCs
|jƒS(N(RJ(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt__str__¤scCs1t|jƒ|jjƒj|jjƒjfƒS(N(thashtget_nameR(RERFRI(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt__hash__§scCs
|jjS(N(R.R(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRS«scCs
|jjS(N(R.R(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytget_bits®scCs
|jdk	S(N(R)R'(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytcan_sign±scCsŽtj|jjƒƒ}|jj|ƒ}|j|ƒ|jƒ}t|ƒ\}}t	ƒ}|j
|jjƒ|j
|j||ƒƒ|S(N(
RtECDSAR.RR)tsignertupdatetfinalizeRRRDRt
_sigencode(RR6tecdsaRXtsigtrtsRL((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt
sign_ssh_data´s
	cCs«|jƒ|jjkrtS|jƒ}|j|ƒ\}}t||ƒ}|jj|t	j
|jjƒƒƒ}|j|ƒy|j
ƒWntk
r¢tSXtSdS(N(R/R.RRGR0t
_sigdecodeRR(tverifierRRWRRYtverifyRtTrue(RR6R5R]tsigRtsigSt	signatureRb((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytverify_ssh_sigÀs	

cCs&|j||jtjjd|ƒdS(NR8(t_write_private_key_fileR)Rt
PrivateFormattTraditionalOpenSSL(RR7R8((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytwrite_private_key_fileÒs
cCs&|j||jtjjd|ƒdS(NR8(t_write_private_keyR)RRjRk(RR:R8((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytwrite_private_keyÚs
cCs}|dk	rL|jj|ƒ}|dkr=td|ƒ‚n|jƒ}ntj|dtƒƒ}td||j	ƒfƒS(s
        Generate a new private ECDSA key.  This factory function can be used to
        generate a new host key or authentication key.

        :param progress_func: Not used for this type of key.
        :returns: A new private key (`.ECDSAKey`) object
        sUnsupported key length: %dR&R9N(
R'R-R!R3RRtgenerate_private_keyRR"R4(R@Rt
progress_functbitstprivate_key((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pytgenerateâs	cCs&|jd||ƒ}|j|ƒdS(NtEC(t_read_private_key_filet_decode_key(RR7R8R6((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR+öscCs&|jd||ƒ}|j|ƒdS(NRt(t_read_private_keyRv(RR:R8R6((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR*úscCsy"tj|dddtƒƒ}Wn+ttfk
rO}tt|ƒƒ‚nX||_|j	ƒ|_
|jj}|j
j|ƒ|_dS(NR8R&(Rtload_der_private_keyR'RR3tAssertionErrorR
tstrR)R4R(RR,R-RR.(RR6RKteR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRvþs	cCs-tƒ}|j|ƒ|j|ƒ|jƒS(N(Rt	add_mpintRJ(RR^R_R5((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR[s	

cCs.t|ƒ}|jƒ}|jƒ}||fS(N(Rt	get_mpint(RR]R5R^R_((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyRasN(RRRRRRt	SECP256R1t	SECP384R1t	SECP521R1R-R'RdRtclassmethodRARJRQRTRSRURVR`RhRlRnRsR+R*RvR[Ra(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyR"\s2#											
	N(Rtcryptography.exceptionsRtcryptography.hazmat.backendsRtcryptography.hazmat.primitivesRRt)cryptography.hazmat.primitives.asymmetricRt/cryptography.hazmat.primitives.asymmetric.utilsRRtparamiko.commonRtparamiko.messageRt
paramiko.pkeyR	tparamiko.ssh_exceptionR
t
paramiko.utilRtobjectRRR"(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/ecdsakey.pyt<module>s