Ejemplo n.º 1
0
 def test_agentGetPublicKey(self):
     """
     L{SSHUserAuthClient} looks up public keys from the agent using the
     L{SSHAgentClient} class.  That L{SSHAgentClient.getPublicKey} returns a
     L{Key} object with one of the public keys in the agent.  If no more
     keys are present, it returns C{None}.
     """
     agent = SSHAgentClient()
     agent.blobs = [self.rsaPublic.blob()]
     key = agent.getPublicKey()
     self.assertEqual(key.isPublic(), True)
     self.assertEqual(key, self.rsaPublic)
     self.assertEqual(agent.getPublicKey(), None)
Ejemplo n.º 2
0
 def test_signDataWithAgent(self):
     """
     When connected to an agent, L{SSHUserAuthClient} can use it to
     request signatures of particular data with a particular L{Key}.
     """
     client = SSHUserAuthClient("user", ConchOptions(), None)
     agent = SSHAgentClient()
     transport = StringTransport()
     agent.makeConnection(transport)
     client.keyAgent = agent
     cleartext = "Sign here"
     client.signData(self.rsaPublic, cleartext)
     self.assertEqual(
         transport.value(),
         "\x00\x00\x00\x8b\r\x00\x00\x00u" + self.rsaPublic.blob() +
         "\x00\x00\x00\t" + cleartext + "\x00\x00\x00\x00")
Ejemplo n.º 3
0
 def test_signDataWithAgent(self):
     """
     When connected to an agent, L{SSHUserAuthClient} can use it to
     request signatures of particular data with a particular L{Key}.
     """
     client = SSHUserAuthClient("user", ConchOptions(), None)
     agent = SSHAgentClient()
     transport = StringTransport()
     agent.makeConnection(transport)
     client.keyAgent = agent
     cleartext = "Sign here"
     client.signData(self.rsaPublic, cleartext)
     self.assertEqual(
         transport.value(),
         "\x00\x00\x00\x8b\r\x00\x00\x00u" + self.rsaPublic.blob() +
         "\x00\x00\x00\t" + cleartext +
         "\x00\x00\x00\x00")
Ejemplo n.º 4
0
 def test_getPublicKeyAgentFallback(self):
     """
     If an agent is present, but doesn't return a key,
     L{SSHUserAuthClient.getPublicKey} continue with the normal key lookup.
     """
     options = ConchOptions()
     options.identitys = [self.rsaFile.path]
     agent = SSHAgentClient()
     client = SSHUserAuthClient("user",  options, None)
     client.keyAgent = agent
     key = client.getPublicKey()
     self.assertEqual(key.isPublic(), True)
     self.assertEqual(key, self.rsaPublic)