ó Ï€öVc@€sQdZddlmZmZddlZddlmZddlZd„Z dS(sUtility functions.iÿÿÿÿ(twith_statementtprint_functionN(t OptionParserc C€s=tddddƒ}|jddddd d d d ƒ|jd dddd d d dƒ|jdddd ddd$ddƒ|jdddd ddd%ddƒ|jtjƒ\}}|jrtd|j|jfdtjƒt |jdƒ}|j ƒ}WdQXn2td|jdtjƒtj j ƒj d ƒ}t |ƒtksgtt |ƒƒ‚tjjj||jƒ}tjj|j|jƒ}|j|jƒ}|jrtd!|j|jfdtjƒt |jd"ƒ}|j|ƒWdQXn3td#|jdtjƒtjj|jd ƒƒdS(&s=Reads a private key and outputs the corresponding public key.tusagesusage: %prog [options]t descriptions‚Reads a private key and outputs the corresponding public key. Both private and public keys use the format described in PKCS#1 v1.5s-is--inputtdestt infilenamettypetstringthelps1Input filename. Reads from stdin if not specifieds-os--outputt outfilenames2Output filename. Writes to stdout of not specifieds--informtinforms!key format of input - default PEMtchoicestPEMtDERtdefaults --outformtoutforms"key format of output - default PEMs(Reading private key from %s in %s formattfiletrbNs+Reading private key from stdin in %s formattasciis%Writing public key to %s in %s formattwbs)Writing public key to stdout in %s format(R R(R R(Rt add_optiont parse_argstsystargvRtprintR tstderrtopentreadtstdintencodeRtbytestAssertionErrortrsatkeyt PrivateKeyt load_pkcs1t PublicKeytntet save_pkcs1RR twritetstdouttdecode( tparsertclitcli_argstinfiletin_datatpriv_keytpub_keytout_datatoutfile((s3/opt/awscli/lib/python2.7/site-packages/rsa/util.pytprivate_to_publicsB      $  ( t__doc__t __future__RRRtoptparseRtrsa.keyR!R5(((s3/opt/awscli/lib/python2.7/site-packages/rsa/util.pyts