Changeset 6844 for TI12-security/trunk


Ignore:
Timestamp:
26/04/10 13:50:57 (10 years ago)
Author:
pjkersha
Message:

1.0 release

Location:
TI12-security/trunk/MyProxyClient
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/MyProxyClient/myproxy/client.py

    r6840 r6844  
    764764        """Store a proxy credential on the server 
    765765         
    766         @raise MyProxyClientError: no client certificate and private key set 
     766        Unfortunately this method is not implemented as it requires the creation 
     767        of a proxy certificate by the client but PyOpenSSL doesn't currently  
     768        support the required proxyCertInfo X.509 certificate extension 
     769         
     770        @raise NotImplementedError: see above 
    767771         
    768772        @type username: string 
     
    770774        @type passphrase: string 
    771775        @param passphrase: pass-phrase for new credential.  This will be used  
    772         by the server to authenticate later requests. 
     776        by the server to authenticate later requests.  IT must be at least 
     777        6 characters.  The server may impose other restrictions too depending 
     778        on its configuration. 
    773779        @type certFile: string 
    774780        @param certFile: user's X.509 proxy certificate in PEM format 
     
    777783        @type sslCertFile: string 
    778784        @param sslCertFile: certificate used for client authentication with 
    779         the MyProxy server SSL connection.  This ID will be set as the owner 
    780         of the stored credentials.  Only the owner can later remove  
    781         credentials with myproxy-destroy or the destroy method.  If not set, 
    782         this argument defaults to $GLOBUS_LOCATION/etc/hostcert.pem or if this 
    783         is not set, certFile 
     785        the MyProxy server SSL connection.  If not set, 
     786        this argument defaults to $GLOBUS_LOCATION/etc/hostcert.pem  
    784787        @type sslKeyFile: string 
    785788        @param sslKeyFile: corresponding private key file.  See explanation 
     
    792795        credentials in seconds. defaults to proxyCertMaxLifetime attribute value 
    793796        """ 
    794          
    795         lifetime = lifetime or self.proxyCertMaxLifetime 
    796  
    797         # Inputs must be string type otherwise server will reject the request 
    798         if isinstance(username, unicode): 
    799             username = str(username) 
    800              
    801         if isinstance(passphrase, unicode): 
    802             passphrase = str(passphrase) 
    803          
    804         globusLoc = os.environ.get('GLOBUS_LOCATION') 
    805         if not sslCertFile or not sslKeyFile: 
    806             if globusLoc: 
    807                 sslCertFile = os.path.join(globusLoc,  
    808                                            *MyProxyClient._hostCertSubDirPath) 
    809                 sslKeyFile = os.path.join(globusLoc,  
    810                                           *MyProxyClient._hostKeySubDirPath) 
    811             else: 
    812                 raise MyProxyClientError('No client certificate and private ' 
    813                                          'key set and no $GLOBUS_LOCATION set ' 
    814                                          'in order to retrieve and use a host ' 
    815                                          'certificate and private key') 
    816                  
    817         # Set up SSL connection 
    818         conn = self._initConnection(certFile=sslCertFile, 
    819                                     keyFile=sslKeyFile, 
    820                                     keyFilePassphrase=sslKeyFilePassphrase) 
    821          
    822         conn.connect((self.hostname, self.port)) 
    823          
    824         # send globus compatibility stuff 
    825         conn.write('0') 
    826      
    827         # send store command - ensure conversion from unicode before writing 
    828         cmd = MyProxyClient.PUT_CMD % (username, lifetime) 
    829         conn.write(str(cmd)) 
    830      
    831         # process server response 
    832         dat = conn.recv(MyProxyClient.SERVER_RESP_BLK_SIZE) 
    833              
    834         respCode, errorTxt = self._deserializeResponse(dat) 
    835         if respCode: 
    836             raise MyProxyClientGetError(errorTxt) 
    837      
    838         # Get the certificate request generated by the server 
    839         certReqDat = conn.recv(MyProxyClient.SERVER_RESP_BLK_SIZE) 
    840         certReq = crypto.load_certificate_request(crypto.FILETYPE_ASN1,  
    841                                                   certReqDat) 
    842         pubKey = certReq.get_pubkey() 
    843         userKey = crypto.load_privatekey(crypto.FILETYPE_PEM,  
    844                                          open(userKeyFile).read(),  
    845                                          'testpassword')  
    846          
    847         userCert = crypto.load_certificate(crypto.FILETYPE_PEM,  
    848                                            open(userCertFile).read()) 
    849          
    850         # Create the proxy certificate 
    851         proxyCert = crypto.X509() 
    852         userCertSubject = userCert.get_subject() 
    853         proxyCert.set_issuer(userCertSubject) 
    854         proxyCert.set_pubkey(pubKey) 
    855         proxyCert.set_notBefore('20100421130000Z') 
    856         proxyCert.set_notAfter('20100421170000Z') 
    857         proxyCert.set_serial_number(12345) 
    858         proxyCertSubject = crypto.X509Name(userCertSubject) 
    859         proxyCertSubject.CN = userCertSubject.CN+'/CN=1234567' 
    860          
    861         proxyCert.set_subject(proxyCertSubject) 
    862         proxyCert.set_version(3) 
    863          
    864         # Oops not currently supported! 
    865 #        extension = crypto.X509Extension('proxyCertInfo', 
    866 #                                         1, 
    867 #                                         'Path Length Constraint: infinite') 
    868 #        proxyCert.add_extensions([extension]) 
    869         proxyCert.sign(userKey, 'md5') 
    870         wantRead = conn.want_read() 
    871         wantWrite = conn.want_write() 
    872          
    873         nCerts = '\002' 
    874         conn.send(nCerts) 
    875         conn.send(crypto.dump_certificate(crypto.FILETYPE_ASN1, proxyCert)) 
    876         conn.send(crypto.dump_certificate(crypto.FILETYPE_ASN1, userCert)) 
    877          
    878         resp = conn.recv(MyProxyClient.SERVER_RESP_BLK_SIZE) 
    879         respCode, errorTxt = self._deserializeResponse(resp) 
    880         if respCode: 
    881             raise MyProxyClientRetrieveError(errorTxt) 
     797        raise NotImplementedError('put method is not currently implemented.  ' 
     798                                  'It requires the creation of a proxy ' 
     799                                  'certificate by the client but PyOpenSSL ' 
     800                                  'doesn\'t currently support the required ' 
     801                                  'proxyCertInfo X.509 certificate extension.') 
    882802 
    883803    def info(self, 
  • TI12-security/trunk/MyProxyClient/myproxy/test/myProxyClientTest.cfg

    r6840 r6844  
    1818username: testuser 
    1919passphrase: testpassword 
     20ownerCertFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.crt 
     21ownerKeyFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.key 
    2022sslCertFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.crt 
    2123sslKeyFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.key 
     
    4951sslKeyFilePassphrase: testpassword 
    5052 
    51 [test07Put] 
    52 username: proxytestuser 
    53 passphrase: proxypassword 
    54 userCertFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.crt 
    55 userKeyFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.key 
    56 sslCertFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.crt 
    57 sslKeyFile: $MYPROXYCLIENT_UNITTEST_DIR/testuser.key 
    58 sslKeyFilePassphrase: testpassword 
  • TI12-security/trunk/MyProxyClient/myproxy/test/proxy.crt

    r6840 r6844  
    11-----BEGIN CERTIFICATE----- 
    2 MIIDfTCCAuagAwIBAgIEVu1r4TANBgkqhkiG9w0BAQUFADAlMRAwDgYDVQQKEwdH 
    3 YWJyaWVsMREwDwYDVQQDEwh0ZXN0dXNlcjAeFw0xMDA0MjIxMTI3MjNaFw0xMDA0 
    4 MjMwNTMyMjNaMDoxEDAOBgNVBAoTB0dhYnJpZWwxETAPBgNVBAMTCHRlc3R1c2Vy 
    5 MRMwEQYDVQQDEwoxNDU4NDAwMjI1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC 
    6 CgKCAgEAocqzpomfIySbinA99pxwS5xcGAIbh9OUoZsxk3BNm4ECImacUdfV3xLF 
    7 g10hjOUVzA7TQJ4avOHhf8xmmGBczQw92u/eMzrHJq398MqHjjCyqhXW9A9aINeR 
    8 8gdPRV8ccCLoLJMI8fGdCjr+rWhC8MK6XJa0VtTzy56Yk3tXt1imXyFGJAbkZMz4 
    9 nofmUOVfBv6MVqSB+IL1kVJu3K19DOGMXBEFiJZdSHGER8MOuZeQxfibGAWdLMV9 
    10 i13sz3tAIpjh4ztGFeMjX0s9bvLeAPRMsIM84PdxzUTRNGvZGOuTTn+cA0ZCespY 
    11 FKOewP5mnkCjUM9MOeuQMv6M9wloGoVIGPUvx38Xt0pL4Ku+TD4fVyWLfkN+XnfL 
    12 CXpWl9+SIjEiA3VN/MTgDsLCM4lfoHZohVJEE9K61FKxNP2lLTlh+t6FEzLxcCPD 
    13 b6RMFaGb0pHxWDwp9NXYJuHMzUH21OmckMTzXgGU/tgtm/Q+ssIdGr/h0YpzzWK0 
    14 LMg2oM8Z2YGpHryN7xYXWdxqkI6fv7a7tyW1Dh2460OyyoPY7fB5lDkskAm9eiEw 
    15 raqbN7iGC57gUVaZbsp9Y3xqZThJBDlrwN/KRa0VmHWuxpseeaGm2sE85UNMwYnS 
    16 smnbUbw3SMz8rETgMqHqrtwHkdc3+YJV86xVRGZWDItEclBO8TkCAwEAAaMhMB8w 
     2MIIDfTCCAuagAwIBAgIEUW9MMjANBgkqhkiG9w0BAQUFADAlMRAwDgYDVQQKEwdH 
     3YWJyaWVsMREwDwYDVQQDEwh0ZXN0dXNlcjAeFw0xMDA0MjYxMjMxMDhaFw0xMDA0 
     4MjcwNjM2MDhaMDoxEDAOBgNVBAoTB0dhYnJpZWwxETAPBgNVBAMTCHRlc3R1c2Vy 
     5MRMwEQYDVQQDEwoxMzY2MjQ4NDk4MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC 
     6CgKCAgEA1dMvYhA9zOrl5vpvokPrxaga38DGSnQ2ceYa22AAwN4nM+Q79DGGr86S 
     7wR5mCeLzGqz8pkxgdEOzp6Hehy5AJbGT25Ik5mXa6zVqugGkXGDMHAlX6h4Qgs4Q 
     8702Y5fwhCBp9LJGbCcu6MN/CFEkt+ZhBcZWa5L1hSodxGZeEMkj03dDwLmWuL6PG 
     9kAkvXFct9dKD2mOav1tjO2NqrA4/I9fwoDhjiJhcdSX6Y5nL6fODAh58APVB7Jwb 
     10qMWA46ArkMaPloeNqy1AjoXsWAEbf++YME0ThJwp/uTYjfp4RBNmzaN6b6aUtMC0 
     11BV8R12OsR7srOPHdMOChV27J6wbUxukuZj+cUvkdMcqjFOBzeojps6P9e2SYanyl 
     12ijDi7pt9pdvxLK7NDv86ckzZITzhCUUleaL+sxglAFcBbB3AaeFfKTIDIfBr9nsL 
     13Ugrhs3ukhznitzNUMU48NCcs4+GiEclE5lVwX8EYdu/Z+yKbgAqee6qMvlpdeCRg 
     14pBU7763a/7dIU5vXBtaIJBC/p6VILp9XOQLP0vzb3SMiYgBsQtt8tUs4c+45Cspw 
     15unh2QIK0YhkOf8QqJRNas5sA82ELDe0eA1koYlK9e8tRn2fcOLmHVlfECgSVTp2t 
     168z2Rpwv/oPuwLFKvZd6OOv6I6+3ppLez8Q5jBHuJkHSZj9Aiw68CAwEAAaMhMB8w 
    1717HQYIKwYBBQUHAQ4BAf8EDjAMMAoGCCsGAQUFBxUBMA0GCSqGSIb3DQEBBQUAA4GB 
    18 AMl7p7tyPuzYHtwRI86UrpuBZydPhaPFH2LFWHWW3mmBLnoWH2dhTLdPpsfn6W4G 
    19 /iCZZGf09zR/VgVZvqAuLZagMTY4hn2GGjbOgfF/+pt+4GUGBoJMyX0tG/ksh3T5 
    20 +009F3GkkP/9WwGjM7QCIoaaJbCsT41iw8h+dPwHHNdi 
     18ADUTL0uU5RUZnmRE8SXpKgHt4TOEEYWH7mHfRG4ptlEjEinioW1p4ihdZKgdSXOC 
     19vexE2Wp6KLqKg/jMxjj4HhjqLU2COUq0z+8FUF13RHESMUDxZbHnftmjBN7Gzz4d 
     20JmxM31IAlNUbwK/nZ/9GkhrGnVZMIepZ7YIf5b5zcoUs 
    2121-----END CERTIFICATE----- 
    2222-----BEGIN CERTIFICATE----- 
  • TI12-security/trunk/MyProxyClient/myproxy/test/proxy.key

    r6840 r6844  
    11-----BEGIN RSA PRIVATE KEY----- 
    2 MIIJJwIBAAKCAgEAocqzpomfIySbinA99pxwS5xcGAIbh9OUoZsxk3BNm4ECImac 
    3 UdfV3xLFg10hjOUVzA7TQJ4avOHhf8xmmGBczQw92u/eMzrHJq398MqHjjCyqhXW 
    4 9A9aINeR8gdPRV8ccCLoLJMI8fGdCjr+rWhC8MK6XJa0VtTzy56Yk3tXt1imXyFG 
    5 JAbkZMz4nofmUOVfBv6MVqSB+IL1kVJu3K19DOGMXBEFiJZdSHGER8MOuZeQxfib 
    6 GAWdLMV9i13sz3tAIpjh4ztGFeMjX0s9bvLeAPRMsIM84PdxzUTRNGvZGOuTTn+c 
    7 A0ZCespYFKOewP5mnkCjUM9MOeuQMv6M9wloGoVIGPUvx38Xt0pL4Ku+TD4fVyWL 
    8 fkN+XnfLCXpWl9+SIjEiA3VN/MTgDsLCM4lfoHZohVJEE9K61FKxNP2lLTlh+t6F 
    9 EzLxcCPDb6RMFaGb0pHxWDwp9NXYJuHMzUH21OmckMTzXgGU/tgtm/Q+ssIdGr/h 
    10 0YpzzWK0LMg2oM8Z2YGpHryN7xYXWdxqkI6fv7a7tyW1Dh2460OyyoPY7fB5lDks 
    11 kAm9eiEwraqbN7iGC57gUVaZbsp9Y3xqZThJBDlrwN/KRa0VmHWuxpseeaGm2sE8 
    12 5UNMwYnSsmnbUbw3SMz8rETgMqHqrtwHkdc3+YJV86xVRGZWDItEclBO8TkCAwEA 
    13 AQKCAgB2aB3gZNnFY3Y98/U1Nbpta6pum6RAXJVrTGQU7lyt0NWaDZSbxSUt09Qf 
    14 VppGPiYcqEDtCoiw8XMSD6qKHAPuwOXIBEKPJZY4dZ/iiKZ6ZqNrHP6qsU2ZuYqD 
    15 Idxe/cOXQcS/UoB6aQQwR4q5qBNNloXDWzvyTHl77L7nOJ6yfTuNZZGqriyapPPT 
    16 OcxSKfvI56QXiN/h2x4TU8v0zzc0pSEPBBoTo0/zw7g2uMdfBlCawl3nT7x+1q4R 
    17 wBSeqCoA5/hxT6D0Rb5OcIcuWqok8qXpjLKSRiXQP2wIPGGu/kFZcsTgFJx0tv+N 
    18 Y029GrJJYS7k5kF4JjDrUSYjaYv4quegyFGUiYlaYsL/GY1jPYS26jOSuCvxovBM 
    19 zGZQ1foBN/vZ8gzislQtWhmCgspXW0JVVG5VE8RgLKbim30uIh0ck+VTpjpvPamI 
    20 HgrAn6BKaFJhQNuKuRneWl3XS9YM+ieXHehkbLWRhl4QG2xPkCe9hAecEM3Pd0D1 
    21 US2exElUHHRE2WmcgvdRxKcqkwHn74nS/ic2K9JFumEkxqKlCDno16tK6vuseycH 
    22 +ygiUzEbmCSYu3NfHay4L00Ogzr9QMA4YbLnEUbBZ6kl/n30mgNYRQ9SjXXYSpKM 
    23 DhtehH6B5Um/62Ahkq+6Kr3Ea3K9EGam2FdGstkJ8VQqgtCQcQKCAQEAzeP3lbqm 
    24 630gNQvpc9TiRvGqFsCSeBw/KNpg9IrIBQjrNbtvDJqh051JBQioOwjfW7p5QNXI 
    25 mRT3YhOYv9Pq3cCEOiKsbYAPBcbDPW5gSceiqcnT4ErK/1N+7Obfn34oa5e3g3mE 
    26 4AHwk/q0e1grXNBuDkXomhg9l6nalU/DmJG2B/0Qm6hDRN0hAkdRWjPpaLrtF++7 
    27 Z3TMxfYy2Gj1Wbp2gNpLtZeCw1fznz1vkG76WECddHLAgphG37KLCREWUsyspW2K 
    28 55qbANYAASUlulVMv8iZA+K+yLDPk5uXwleCBDvmLbmWXKa76KqNXjarVIbBusyI 
    29 tnAt1U30aeBy7QKCAQEAySso/V0ty/vhrxQSPosqmDLjbOvZJDX863jDvWlndlj9 
    30 aZIR0tIVk2hnM+hD0enAjnz1+OmTVAdLCmaK4HNZTVM2eE7pWVUaufLM40b9xotC 
    31 68DAiDCNEt2UtAU78+co8yQPg3tBZyoDdVqFgvF/VskODNCNesIipFjOIjZCSewX 
    32 QPGUQ/5mY9kXtkfziOvQO9B4y+6qTJ/9WlFtJbzHWKPr4vILrPG7Re/7NVLKG74G 
    33 I/+xJn8eiE7j2okDB8hhIIe6GwkErvUUnmVW3Sl4lSuSaYlkvLFLL8tmauJHyvPW 
    34 f6yxdeVFCUrRsMSzrbeF6ss7v5inkHN6mYOAr7Yx/QKCAQBs70gI5af5gsuupW3Q 
    35 hntuk+Cthxg4CqH0SI7x9Bfeahig5lncLlie8WI4EpuIGKqtCt2qyzIGpMw7DSlN 
    36 nZ9v0rNjWwMmMJJCOScF8sdpYgITmaDL1GbRbukCCSmaZpKWUsCbBImkSAJ1GTmy 
    37 5TSUOAdy79Qg6+ByxUDMrVZM/BN26JOH+CAXaHRVk0xc0IiXjAd0GbhrBaZuu1Ot 
    38 ouLlpb2bcWSLYO2j034n68aCgeVdGlr0yN5Ieq9NHldn5a2NA5P5Nxs+bVPDvnZk 
    39 JLZwfz9LXaRwJOFSqBI8BB/oiIpXGSYxXTdMMD/N26dOiNhfsakA38UZ2gK2EDfY 
    40 aRQFAoIBAHxu4Anoix10DmNXjPl258ABKkADmusVIf8dUiZlfoPsA8Q7gB7hqErn 
    41 935aGylK57q7fQKcqG7/m+ExEJJJh2GXKUg9t4V0aPXARBAJp4waNCjTr8QOFBUp 
    42 ToQUAMObpu7OzXHM2eXQTRdYCOG4M8Yg0zoF/p2CXB9AdzEeUt6a1L9tLwLn57m3 
    43 XT15QCDfjIyTJUUvudNv2yz01QjUvpILwys8ARDW7boS+VZAgZercOzvikp/swkp 
    44 kzNoMKGtxrZyfiGe8HCwVDKuCI8Ayf+rVgNF4zP8jr9fl1hh43qcXX/X+GUujgdz 
    45 akVnRqUbshBL6gdXi76ET7+JYh5OGpkCggEACVn9R8R9HU1NCX/Vu+wSmA5QWQ3g 
    46 Jego0/GFYStzaxOE9GjgJF/Mmpdgv/q0xG7YXMVSgQ+2vjpFvfiFeonCBZngS7rS 
    47 S3R5NRWbbMVg0UOBviML8j+tpIWV0mvb/fLtpjfn5kdGuG+zxDYuxYJliha0Jsm2 
    48 3M+pkdTkraHjIzjVriH+yi90iTkLc93QQgVDD6ol7lV2n5XEfqoM6sTkUaQyNusD 
    49 iX4wBp02Xxda70nW15G+KPmibl/7IJdNP07BMbdO+tGSYug3R0iX+GOVsnozF6CV 
    50 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 
    5151-----END RSA PRIVATE KEY----- 
  • TI12-security/trunk/MyProxyClient/myproxy/test/test_myproxyclient.py

    r6840 r6844  
    6969        sslKeyFilePassphrase = thisSection.get('sslKeyFilePassphrase') 
    7070        if sslKeyFilePassphrase is None: 
    71             sslKeyFilePassphrase = getpass.getpass(prompt="\ntest1Store credential " 
    72                                                      " owner pass-phrase: ") 
    73  
    74         certFile = path.expandvars(thisSection['signingCertFilePath']) 
    75         keyFile = path.expandvars(thisSection['signingPriKeyFilePath']) 
     71            sslKeyFilePassphrase = getpass.getpass( 
     72                        prompt="\ntest1Store credential owner pass-phrase: ") 
     73 
     74        certFile = path.expandvars(thisSection['ownerCertFile']) 
     75        keyFile = path.expandvars(thisSection['ownerKeyFile']) 
    7676        sslCertFile = path.expandvars(thisSection['sslCertFile']) 
    7777        sslKeyFile = path.expandvars(thisSection['sslKeyFile']) 
     
    189189                self.assert_(subj) 
    190190                print("Trust root certificate retrieved with DN=%s" % subj) 
    191  
    192     def test07Put(self): 
    193         # Make a new credential on the server and a proxy certificate to it 
    194         thisSection = self.cfg['test07Put'] 
    195          
    196         response = self.clnt.put( 
    197                      thisSection['username'],  
    198                      thisSection['passphrase'], 
    199                      path.expandvars(thisSection['userCertFile']), 
    200                      path.expandvars(thisSection['userKeyFile']), 
    201                      sslCertFile=path.expandvars(thisSection['sslCertFile']), 
    202                      sslKeyFile=path.expandvars(thisSection['sslKeyFile']), 
    203                      sslKeyFilePassphrase=thisSection['sslKeyFilePassphrase']) 
    204191         
    205192         
  • TI12-security/trunk/MyProxyClient/setup.py

    r6837 r6844  
    2828setup( 
    2929    name =              'MyProxyClient', 
    30     version =           '0.9.1', 
     30    version =           '1.0.0', 
    3131    description =       'MyProxy Client', 
    32     long_description =  'Pure Python implementation of MyProxy client interface', 
     32    long_description =  '''Pure Python implementation of MyProxy client ''' 
     33    '''interface. 
     34     
     35    This version replaces M2Crypto with PyOpenSSL as the OpenSSL wrapper. 
     36    Get trust roots is now added.  A stub for Put has been added but not  
     37    implemented as unfortunately the PyOpenSSL X.%09 extensions interface does 
     38    not support the required proxyCertInfo extension required for proxy 
     39    certificates. 
     40    ''', 
    3341    author =            'Philip Kershaw', 
    3442    author_email =      'Philip.Kershaw@stfc.ac.uk', 
     
    4553    }, 
    4654    classifiers = [ 
    47         'Development Status :: 4 - Beta', 
     55        'Development Status :: 5 - Production/Stable', 
    4856        'Environment :: Console', 
    4957        'Environment :: Web Environment', 
Note: See TracChangeset for help on using the changeset viewer.