Exemplo n.º 1
0
    def test_verify_string(self):
        """verify string is correct"""
        results = []
        for _, identity in self.identities.iddb.items():
            results.append(crypto.pk_sign_string(
                self.plaintext, identity, None))
        self.assertTrue(results[0] != results[1])

        for _, identity in self.identities.iddb.items():
            signature = crypto.pk_sign_string(self.plaintext, identity, None)
            self.assertTrue(crypto.pk_verify_signature(
                self.plaintext, signature, identity))
Exemplo n.º 2
0
 def verify_entry(self, uid=None, iddb=None, distributor=None, certs=None):
     ####################################################################
     """Check to see if all signatures and user certificates are okay for
     the user accessing this password entry"""
     ####################################################################
     recipient_entry = self.recipients[uid].copy()
     try:
         verified = iddb.verify_identity(distributor)
     except CliArgumentError:
         return {"distributor": distributor, "sigOK": None, "certOK": None}
     signature = recipient_entry.pop("signature")
     message = self._create_signable_string(recipient_entry)
     sig_ok = pk_verify_signature(message, signature, certs)
     return {"distributor": distributor, "sigOK": sig_ok, "certOK": verified}
Exemplo n.º 3
0
    def test_verify_string(self):
        """verify string is correct"""
        results = []
        for identity in self.session.query(Recipient).all():
            results.append(pk_sign_string(self.plaintext, dict(identity),
                                          None))
        self.assertTrue(results[0] != results[1])

        for identity in self.session.query(Recipient).all():
            signature = pk_sign_string(self.plaintext, dict(identity), None)
            cert = (self.session.query(Cert).filter(
                Cert.recipients.contains(identity)).first())
            self.assertTrue(
                pk_verify_signature(self.plaintext, signature, [cert]))
Exemplo n.º 4
0
 def verify_entry(self, uid=None, iddb=None):
     """ Check to see if all signatures and user certificates are okay for the user accessing this password entry """
     #######################################################################
     identitydb = iddb.iddb
     recipient_entry = self.recipients[uid].copy()
     distributor = recipient_entry['distributor']
     iddb.verify_identity(distributor)
     signature = recipient_entry.pop('signature')
     message = self._create_signable_string(recipient_entry)
     sig_ok = crypto.pk_verify_signature(message, signature,
                                         identitydb[distributor])
     return {
         'distributor': distributor,
         'sigOK': sig_ok,
         'certOK': identitydb[distributor]['verified']
     }