;ò ˆç‹Gc@sÐdkZdkZdkZdkZdkZdkZdkZdkZdkTdk Z dZ dZ dZ dZ dZdZdZd Zeid ƒZgad Zd efd „ƒYZdefd„ƒYZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#dfd„ƒYZ$dfd„ƒYZ%dfd „ƒYZ&d!fd"„ƒYZ'd#d$„Z(d%fd&„ƒYZ)d'fd(„ƒYZ*d)fd*„ƒYZ+d+„Z,dS(,N(s*iiiisTrPZsTrPUsTrPvsTrPbs (\.[^\.]+)$i sFileFormatErrorcBstZRS(N(s__name__s __module__(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysFileFormatErrortssMismatchedKeyscBstZRS(N(s__name__s __module__(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysMismatchedKeysvscCsP||jo||f\}}nx"|o|||f\}}q&W|SdS(N(sasb(sasb((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysGCDys cCs^|df\}}xA|o9|d@o|||}n|||}|dL}qW|SdS(Ni(smsisjsKeysn(smsKeysnsisj((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysSolves cCsddddf\}}}}xd|o\||}||||f\}}||||f\}}||||f\}}q!W|SdS(Nll(sx1sKeysy1sy2sphisesq(sesphisy2sqsKeysy1sx1((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys ExtEuclidˆs cCs4tid|dƒ}t||d|ƒdjSdS(Nii(srandomsrandintsnsasSolve(snsa((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys TestPrime’scCsLxEtdƒD]7}tit|ƒttiddd>ƒƒt|tdd>Btdd?B}dd>tddd>d@d>Btdd ?B}tddd >d@d >td d >Btd d ?B}|||fSdS(Nli@ii ii(iiiidii0i(s GenSeed5x52spsqsKey(spsqsKey((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysPickNumsžs  ".2cCsLd}x2t|ƒD]$}|t|d@ƒ7}|dL}qW|i|ƒdS(Nsiÿi(sSsrangesBytessischrsNsFileswrite(sFilesNsBytessisS((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWriteN±s  cCss|i|ƒ}t|ƒ|jo t‚nd}x6t|ƒD](}|t t ||ƒƒ|d>>O}q?W|SdS(Nli( sFilesreadsBytessSslensFileFormatErrorsRetValsrangesislongsord(sFilesBytessisSsRetVal((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysReadN¸s  &cCs't|t|ƒdƒ|i|ƒdS(Ni(sWriteNsFileslensStrswrite(sFilesStr((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWriteSÀscCsCt|dƒ}|i|ƒ}t|ƒ|jo t‚n|SdS(Ni(sReadNsFilesLsreadsRetValslensFileFormatError(sFilesLsRetVal((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysReadSÄs  cCs tti|ƒiƒdƒSdS(Ni(slongsmd5sStrings hexdigest(sString((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysHashÊss PrivateKeycBsJtZedƒZded„Zdd„Zd„Zd„Zd„Z RS(Ns4Test is a test string used to validate private keys.scCs+||t|ƒf\|_|_|_dS(N(sKeysFilenamesHashsPasswordsself(sselfsFilenamesPasswordsKey((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys__init__àscCst|ƒ|_dS(N(sHashsPasswordsself(sselfsPassword((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys SetPasswordäscCsOt|idƒ}z+|itƒt||i|iAdƒWd|i ƒXdS(Nswbi( sopensselfsFilenamesFswrites MAGIC_PRIVsWriteNsKeysPasswordsclose(sselfsF((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWriteès cCsat|idƒ}z=|idƒtjo t‚nt|dƒ|iA|_ Wd|i ƒXdS(Nsrbii( sopensselfsFilenamesFsreads MAGIC_PRIVsFileFormatErrorsReadNsPasswordsKeysclose(sselfsF((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysReadñs cCs>t|i|i|iƒ}|it||i|iƒjSdS(N(sSolvesselfsTestHashsKeysPublicsnsEncode(sselfsPublicsEncode((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTestús( s__name__s __module__sHashsTestHashsNones__init__s SetPasswordsWritesReadsTest(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys PrivateKeyÎs   s PublicKeycBs8tZd„Zd„Zd„ZeeƒZd„ZRS(NcCs|||||f\|_|_|_|_t|tƒo5t|i|iƒ}t ||i|iƒ|_ n ||_ dS(N( snsKeysNamesAddresssselfs isinstancesPrivVals PrivateKeysHashsHsSolves Validator(sselfsnsKeysNamesAddresssPrivValsH((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys__init__s *cCs]t||idƒt||idƒt||iƒt||iƒt||idƒdS(Nii( sWriteNsFilesselfsnsKeysWriteSsNamesAddresss Validator(sselfsFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWrites cCsAtt|dƒt|dƒt|ƒt|ƒt|dƒƒSdS(Nii(s PublicKeysReadNsFilesReadS(sFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysReads-cCs9t|i|iƒ}|t|i|i|iƒjSdS(N( sHashsselfsNamesAddresssHsSolves ValidatorsKeysn(sselfsH((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTests(s__name__s __module__s__init__sWritesReads staticmethodsTest(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys PublicKeys    s SignaturecBsJtZd„Zd„Zd„Zd„Zd„ZeeƒZd„ZRS(NcGs5t|ƒdjo|i|Œn|i|ŒdS(Ni(slensArgssselfs_Loaded_s_New_(sselfsArgs((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys__init__'scCs||f\|_|_dS(N(sSigners Validatorsself(sselfsSigners Validator((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys_Loaded_-scCsX|i|iƒƒ o t‚n|i|_tt |ƒ|i |iƒi ƒ|_ dS(N(sPrivatesTests PublicFiles MyPublicKeysMismatchedKeyssOwnersselfsSignersSolvesHashsDatasKeysns Validator(sselfsDatas PublicFilesPrivate((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys_New_/s  cCs*t||idƒt||idƒdS(Ni(sWriteNsFilesselfsSigners Validator(sselfsFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWrite5scCs#tt|dƒt|dƒƒSdS(Ni(s SignaturesReadNsFile(sFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysRead:scCs)t|ƒt|i|i|iƒjSdS(N(sHashsDatasSolvesselfs ValidatorsPublicsKeysn(sselfsDatasPublic((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTest?s( s__name__s __module__s__init__s_Loaded_s_New_sWritesReads staticmethodsTest(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys Signature#s      sTrustRelationshipcBsMtZd„Zd„Zdd„Zd„Zd„Zd„ZeeƒZRS(NcGs5t|ƒdjo|i|Œn|i|ŒdS(Ni(slensArgssselfs_Loaded_s_New_(sselfsArgs((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys__init__IscCs=|||f\|_|_|_||f\|_|_dS(N(sTrustersTrusteesnsselfs Transferrables Validator(sselfsTrustersTrusteesns Transferrables Validator((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys_Loaded_Os!sNcCs´|i|i|if\|_|_|_||_tt|iƒ|ƒ}t |t ƒot ||i|iƒ|_ n ||_ |t |i |i|iƒjo t‚ndS(N(sTrustersKeysTrusteesnsselfs TransferrablesHashshexsHs isinstancesPrivVals PrivateKeysSolves ValidatorsMismatchedKeys(sselfsTrustersTrusteesPrivVals TransferrablesH((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys_New_Rs*  "cCs?tt|iƒ|iƒ}|t|i|i|i ƒjSdS(N( sHashshexsselfsTrustees TransferrablesHsSolves ValidatorsTrustersn(sselfsH((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTest]scCs`t||idƒt||idƒt||idƒ|i|iƒt||idƒdS(Nii( sWriteNsFilesselfsTrustersTrusteesnswrites Transferrables Validator(sselfsFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWritecs cCsqt|dƒt|dƒt|dƒf\}}}|idƒt|dƒf\}}t|||||ƒSdS(Niii( sReadNsFilesTrustersTrusteesnsreads Transferrables ValidatorsTrustRelationship(sFilesTrusters Validators TransferrablesnsTrustee((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysReadks3$( s__name__s __module__s__init__s_Loaded_s_New_sTestsWritesReads staticmethod(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTrustRelationshipCs     scCs¼xwtootƒ\} } } x7to/t| ƒoPntƒtƒ\} } } qWx7to/t| ƒoPntƒtƒ\} } } qYW| | } | d| d}xZtoR| djo | |jot | |ƒdjoPntƒtƒ\} } } q¯Wt | |ƒ}|djo||7}nt tid| ƒƒ}tt|| | ƒ|| ƒ|joPqqWt|||ƒ}|iƒt| | |||ƒ}||fSdS(Nii(sTruesPickNumsspsqsPubKeys TestPrimesReseedsxsnsphisGCDs ExtEuclidsPrivKeyslongsrandomsrandintsMsSolves PrivateKeysPrivateFilenamesPrivatePasswordsPrivatesWrites PublicKeysNamesAddresssPublic(sPrivateFilenamesNamesAddresssPrivatePasswordsPublicsPrivKeysphisMsPrivatesnsqspsxsPubKey((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysGenKeysrsD   0 %  s PublicKeyFilecBsPtZed„Zd„Zd„Zd„Zed„Zdd„Z d„Z RS( NcCsf|tf\|_|_hhf\|_|_|o+|ih|i|©scstˆi|ƒS(N(slensselfsRevokedsx(sx(sself(sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys­s(sopensselfsFilenamesFswrites MAGIC_PUBsWriteNsOwnerslensKeyssisWritessumsmapsTrustedsjsRevokedsclose(sselfsFsisj((sselfsP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWrite¡s.  (  ( $cCs„t|idƒ}z`|idƒtjo t‚nt|dƒ|_h|_ x<t t|dƒƒD]%}t i |ƒ}||i |iZs(sopensselfsFilenamesFsCompressswrites MAGIC_ZIPsWriteSszlibscompresssDatas MAGIC_UNZIPsWriteNslensKeyssisWrites SignaturesssumsmapsTrustedsjsclose(sselfsjsFsi((sselfsP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysWriteJs0     ( $cCs ||_dS(N(sCompresssself(sselfsCompress((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysSetCompressionasc scti|ƒti|ƒf\}}tit‡d†ˆiƒƒ}||}||@} | ot t ‡d†| ƒfSntiƒ|i ƒf\}}xo|D]g}ˆii|ƒoNxKˆi|D]8}ˆi||} | iƒo|i| iƒqÉqÉWq¢q¢W||B}}x¼|o´tiƒ}x—|D]}ˆii|ƒovxsˆi|D]`}ˆi||} | idjo | i|jo)| iƒ oq_n|i| iƒq_q_Wq8q8W||O}qWt||@|ƒ} | ott ‡d†| ƒfSnt||@ƒ} | ott ‡d†| ƒfSntt ‡d†|ƒfSdS(Ncs+ˆi|iˆiˆiˆi|iƒS(N(sselfs SignaturessxsTestsDatasKeyssSigner(sx(sself(sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pyskscs ˆi|S(N(sselfsKeyssx(sx(sself(sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysossY(ssetssSetsTrustedsRevokedsfiltersselfs SignaturessAllSigssSigssRetValsTRUSTEDsmapscopysFoundsTrusterssishas_keysjsTsTestsaddsTrusters Transferrableslists TRANSFERREDsREVOKEDsUNKNOWN( sselfsTrustedsRevokedsisjsAllSigssSigssTrusterssFoundsRetValsT((sselfsP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTestSignaturesdsN$      cCs<t|ƒtjot|ƒ}nti|dƒ|_dS(Niÿÿÿÿ(stypesDatas ModuleTypes ModuleObjectscPicklesdumpssself(sselfsData((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysPicklescCs:ti|iƒ}t|tƒo|iƒ}n|SdS(N(scPicklesloadssselfsDatas isinstances ModuleObjectsImport(sselfsData((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysUnpickle’s c Cs?t|i||ƒ|i|i<|iƒ|i|i<|t joùt i ƒt i |igƒf\}}x±|D]©}|ii|ƒox|i|D]z}|i||}|i|iƒ|ii|ihƒ|i|i<||i|i|i<|i|i|i|i '"&  "*( s__name__s __module__s__init__sReadsWritesTruesSetCompressionsTestSignaturessPicklesUnpicklesFalsesSign(((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysTPickle#s    )  cCs¦tiƒttiddd>dƒƒgatdƒ}tiƒtittiddd>dƒƒƒtdƒ}tiƒtittiddd>dƒƒƒtdƒ}tiƒtittiddd>dƒƒƒxNt oFt i dƒ}|d joPnt i d ƒ}||joPqçqçWtiƒtittiddd>dƒƒƒtd ||||ƒ\}}td ||ƒ}|iƒdS( Nili4is Your name: sYour e-mail address: s,Key pair filename base (___.pub & ___.prv): s!Private key password (blank OK): ss$Repeat password (for verification): s%s.prvs%s.pub(srandomsseedslongsrandints GenSeed5x52s raw_inputsNamesappendsAddresssBasesTruesgetpasssPass1sPass2sGenKeyssPrivatesPublics PublicKeyFilesKeyFilesWrite(sNamesPrivatesPass1sBasesPass2sAddresssPublicsKeyFile((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pysNewKeys¹s4 #  '  '  '   '(-scPicklesgetpasssglobsmd5sossrandomsressetsstypesszlibsTRUSTEDs TRANSFERREDsUNKNOWNsREVOKEDs MAGIC_ZIPs MAGIC_UNZIPs MAGIC_PRIVs MAGIC_PUBscompiles EXT_SEARCHs GenSeed5x52s CompressLevels ExceptionsFileFormatErrorsMismatchedKeyssGCDsSolves ExtEuclids TestPrimesReseedsPickNumssWriteNsReadNsWriteSsReadSsHashs PrivateKeys PublicKeys SignaturesTrustRelationshipsGenKeyss PublicKeyFiles ModuleObjectsTPicklesNewKeys()sTrustRelationshipsUNKNOWNsrandoms TRANSFERREDsgetpasss EXT_SEARCHsReseedsGCDs MAGIC_UNZIPsHashs MAGIC_PRIVs PublicKeyFilesWriteSsresWriteNsMismatchedKeyssTRUSTEDs MAGIC_PUBscPicklesREVOKEDsNewKeyssTPicklesglobs CompressLevelsReadNs TestPrimesReadSsFileFormatErrors Signatures PrivateKeysmd5sGenKeysszlibsPickNumss MAGIC_ZIPs PublicKeys ExtEuclidssetssSolvesoss ModuleObject((sP/mnt/gmirror/ports/security/py-trustedpickle/work/trustedpickle/TrustedPickle.pys?UsV                  2# / #t–