Ejemplo n.º 1
0
 def test_store_deleg_cred(self):
     cred = Credential(usage=C_INITIATE)
     ctx = InitContext(Name("*****@*****.**",
                            C_NT_HOSTBASED_SERVICE),
                       cred,
                       req_flags=(C_DELEG_FLAG, ))
     self._handshake(self.sockfile, ctx)
     self._writeline(b'!DELEGSTORE')
     self.assertEqual(self.sockfile.readline().strip(), b'!OK')
Ejemplo n.º 2
0
 def test_cred_with_password(self):
     cred = Credential(Name('*****@*****.**'),
                       usage=C_INITIATE,
                       password=b'userpassword')
     ctx = InitContext(
         Name("*****@*****.**", C_NT_HOSTBASED_SERVICE),
         cred)
     self._handshake(self.sockfile, ctx)
     self._writeline(b'!MYNAME')
     self.assertEqual(self.sockfile.readline().strip(),
                      b'*****@*****.**')
Ejemplo n.º 3
0
 def setUp(self):
     try:
         self.cred = Credential(usage=C_INITIATE)
         self.cred.name
     except (NoCredential, CredentialsExpired):
         self.skipTest(
             "No default init credential available, try running with a Kerberos ticket."
         )
     self.is_heimdal_mac = False
     if platform.system() == 'Darwin':
         mac_ver = platform.mac_ver()[0].split('.')
         if int(mac_ver[0]) >= 10 and int(mac_ver[1]) >= 7:
             self.is_heimdal_mac = True
Ejemplo n.º 4
0
 def test_deleg_cred(self):
     cred = Credential(usage=C_INITIATE)
     ctx = InitContext(Name("*****@*****.**",
                            C_NT_HOSTBASED_SERVICE),
                       cred,
                       req_flags=(C_DELEG_FLAG, ))
     self._handshake(self.sockfile, ctx)
     self._writeline(b'!DELEGTEST')
     self.assertEqual(self.sockfile.readline().strip(), b'!OK')
     self.assertEqual(self.sockfile.readline().strip(),
                      b'*****@*****.**')
     self.assertLess(
         abs(int(self.sockfile.readline().strip()) - cred.lifetime), 10)
Ejemplo n.º 5
0
 def setUp(self):
     try:
         self.cred = Credential(usage=C_ACCEPT)
         self.cred.name
     except GSSCException as exc:
         if (exc.maj_status == S_NO_CRED
                 or 'Permission denied' in exc.message
                 or 'keytab is nonexistent or empty' in exc.message):
             self.skipTest("No default accept credential available, "
                           "try running with a Kerberos keytab readable.")
         else:
             raise
     self.is_heimdal_mac = False
     if platform.system() == 'Darwin':
         mac_ver = platform.mac_ver()[0].split('.')
         if int(mac_ver[0]) >= 10 and int(mac_ver[1]) >= 7:
             self.is_heimdal_mac = True
Ejemplo n.º 6
0
 def _delegated_cred_store_test(self, ctx):
     if ctx.delegated_cred:
         # Create the default ccache as a side-effect
         str(
             Credential(usage=C_INITIATE,
                        cred_store={
                            'client_keytab': '/etc/krb5.keytab'
                        }).name)
         # Store delegated cred in default ccache
         ctx.delegated_cred.store(default=True, overwrite=True)
         # Store again, in non-default ccache
         ctx.delegated_cred.store(
             default=True,
             overwrite=True,
             cred_store={'ccache': 'FILE:{0}'.format(tempfile.mktemp())})
         self._writeline(b'!OK')
     else:
         self._writeline(b'!NOCRED')