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))
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}
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]))
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'] }