Ejemplo n.º 1
0
def build_key_from_dict(kClass, kdict):
    """
    Build an C{kClass} key based on info in C{kdict}.

    :param kdict: Dictionary with key data.
    :type kdict: dict
    :return: An instance of the key.
    :rtype: C{kClass}
    """
    try:
        validation = ValidationLevels.get(kdict[KEY_VALIDATION_KEY])
    except ValueError:
        logger.error("Not valid validation level (%s) for key %s", (kdict[KEY_VALIDATION_KEY], kdict[KEY_ID_KEY]))
        validation = ValidationLevels.Weak_Chain

    expiry_date = _to_datetime(kdict[KEY_EXPIRY_DATE_KEY])
    last_audited_at = _to_datetime(kdict[KEY_LAST_AUDITED_AT_KEY])
    refreshed_at = _to_datetime(kdict[KEY_REFRESHED_AT_KEY])

    return kClass(
        kdict[KEY_ADDRESS_KEY],
        key_id=kdict[KEY_ID_KEY],
        fingerprint=kdict[KEY_FINGERPRINT_KEY],
        key_data=kdict[KEY_DATA_KEY],
        private=kdict[KEY_PRIVATE_KEY],
        length=kdict[KEY_LENGTH_KEY],
        expiry_date=expiry_date,
        last_audited_at=last_audited_at,
        refreshed_at=refreshed_at,
        validation=validation,
        encr_used=kdict[KEY_ENCR_USED_KEY],
        sign_used=kdict[KEY_SIGN_USED_KEY],
    )
Ejemplo n.º 2
0
def build_key_from_dict(kClass, kdict):
    """
    Build an C{kClass} key based on info in C{kdict}.

    :param kdict: Dictionary with key data.
    :type kdict: dict
    :return: An instance of the key.
    :rtype: C{kClass}
    """
    try:
        validation = ValidationLevels.get(kdict[KEY_VALIDATION_KEY])
    except ValueError:
        logger.error("Not valid validation level (%s) for key %s",
                     (kdict[KEY_VALIDATION_KEY], kdict[KEY_ID_KEY]))
        validation = ValidationLevels.Weak_Chain

    expiry_date = _to_datetime(kdict[KEY_EXPIRY_DATE_KEY])
    last_audited_at = _to_datetime(kdict[KEY_LAST_AUDITED_AT_KEY])
    refreshed_at = _to_datetime(kdict[KEY_REFRESHED_AT_KEY])

    return kClass(
        kdict[KEY_ADDRESS_KEY],
        key_id=kdict[KEY_ID_KEY],
        fingerprint=kdict[KEY_FINGERPRINT_KEY],
        key_data=kdict[KEY_DATA_KEY],
        private=kdict[KEY_PRIVATE_KEY],
        length=kdict[KEY_LENGTH_KEY],
        expiry_date=expiry_date,
        last_audited_at=last_audited_at,
        refreshed_at=refreshed_at,
        validation=validation,
        encr_used=kdict[KEY_ENCR_USED_KEY],
        sign_used=kdict[KEY_SIGN_USED_KEY],
    )
Ejemplo n.º 3
0
 def test_build_key_from_dict(self):
     kdict = {
         'address': [ADDRESS],
         'key_id': KEY_FINGERPRINT[-16:],
         'fingerprint': KEY_FINGERPRINT,
         'key_data': PUBLIC_KEY,
         'private': False,
         'length': 4096,
         'expiry_date': 0,
         'last_audited_at': 0,
         'refreshed_at': 1311239602,
         'validation': str(ValidationLevels.Weak_Chain),
         'encr_used': False,
         'sign_used': True,
     }
     key = build_key_from_dict(OpenPGPKey, kdict)
     self.assertEqual(kdict['address'], key.address, 'Wrong data in key.')
     self.assertEqual(kdict['key_id'], key.key_id, 'Wrong data in key.')
     self.assertEqual(kdict['fingerprint'], key.fingerprint,
                      'Wrong data in key.')
     self.assertEqual(kdict['key_data'], key.key_data, 'Wrong data in key.')
     self.assertEqual(kdict['private'], key.private, 'Wrong data in key.')
     self.assertEqual(kdict['length'], key.length, 'Wrong data in key.')
     self.assertEqual(None, key.expiry_date, 'Wrong data in key.')
     self.assertEqual(None, key.last_audited_at, 'Wrong data in key.')
     self.assertEqual(datetime.fromtimestamp(kdict['refreshed_at']),
                      key.refreshed_at, 'Wrong data in key.')
     self.assertEqual(ValidationLevels.get(kdict['validation']),
                      key.validation, 'Wrong data in key.')
     self.assertEqual(kdict['encr_used'], key.encr_used,
                      'Wrong data in key.')
     self.assertEqual(kdict['sign_used'], key.sign_used,
                      'Wrong data in key.')
Ejemplo n.º 4
0
 def test_build_key_from_dict(self):
     kdict = {
         'uids': [ADDRESS],
         'fingerprint': KEY_FINGERPRINT,
         'key_data': PUBLIC_KEY,
         'private': False,
         'length': 4096,
         'expiry_date': 0,
         'refreshed_at': 1311239602,
     }
     adict = {
         'address': ADDRESS,
         'private': False,
         'last_audited_at': 0,
         'validation': str(ValidationLevels.Weak_Chain),
         'encr_used': False,
         'sign_used': True,
     }
     key = build_key_from_dict(OpenPGPKey, kdict, adict)
     self.assertEqual(
         kdict['uids'], key.uids,
         'Wrong data in key.')
     self.assertEqual(
         kdict['fingerprint'], key.fingerprint,
         'Wrong data in key.')
     self.assertEqual(
         kdict['key_data'], key.key_data,
         'Wrong data in key.')
     self.assertEqual(
         kdict['private'], key.private,
         'Wrong data in key.')
     self.assertEqual(
         kdict['length'], key.length,
         'Wrong data in key.')
     self.assertEqual(
         None, key.expiry_date,
         'Wrong data in key.')
     self.assertEqual(
         None, key.last_audited_at,
         'Wrong data in key.')
     self.assertEqual(
         datetime.fromtimestamp(kdict['refreshed_at']), key.refreshed_at,
         'Wrong data in key.')
     self.assertEqual(
         adict['address'], key.address,
         'Wrong data in key.')
     self.assertEqual(
         ValidationLevels.get(adict['validation']), key.validation,
         'Wrong data in key.')
     self.assertEqual(
         adict['encr_used'], key.encr_used,
         'Wrong data in key.')
     self.assertEqual(
         adict['sign_used'], key.sign_used,
         'Wrong data in key.')