summaryrefslogtreecommitdiff
path: root/src/leap/common/keymanager/util.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2013-04-27 00:06:01 -0300
committerdrebs <drebs@leap.se>2013-04-27 00:06:01 -0300
commit4113dd985b9b5fc3b8e9839670ac5f7416f3f634 (patch)
tree6a4d76391cab19e42f6e21b91d9908f1fa25b59c /src/leap/common/keymanager/util.py
parent62b5a7798924188ba915a1c095917d8709e20ae7 (diff)
Add key refreshing for KeyManager.
Diffstat (limited to 'src/leap/common/keymanager/util.py')
-rw-r--r--src/leap/common/keymanager/util.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/src/leap/common/keymanager/util.py b/src/leap/common/keymanager/util.py
deleted file mode 100644
index 667d2b2..0000000
--- a/src/leap/common/keymanager/util.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# -*- coding: utf-8 -*-
-# util.py
-# Copyright (C) 2013 LEAP
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-"""
-Utilities for the Key Manager.
-"""
-
-
-import re
-
-
-from hashlib import sha256
-from binascii import b2a_base64
-
-
-from leap.common.check import leap_assert
-
-
-def _is_address(address):
- """
- Return whether the given C{address} is in the form user@provider.
-
- @param address: The address to be tested.
- @type address: str
- @return: Whether C{address} is in the form user@provider.
- @rtype: bool
- """
- return bool(re.match('[\w.-]+@[\w.-]+', address))
-
-
-def _build_key_from_dict(kClass, address, kdict):
- """
- Build an C{kClass} key bound to C{address} based on info in C{kdict}.
-
- @param address: The address bound to the key.
- @type address: str
- @param kdict: Dictionary with key data.
- @type kdict: dict
- @return: An instance of the key.
- @rtype: C{kClass}
- """
- return kClass(
- address,
- key_id=kdict['key_id'],
- fingerprint=kdict['fingerprint'],
- key_data=kdict['key_data'],
- private=kdict['private'],
- length=kdict['length'],
- expiry_date=kdict['expiry_date'],
- first_seen_at=kdict['first_seen_at'],
- last_audited_at=kdict['last_audited_at'],
- validation=kdict['validation'], # TODO: verify for validation.
- )
-
-
-def _build_key_from_doc(kClass, address, doc):
- """
- Build an C{kClass} for C{address} based on C{doc} from local storage.
-
- @param address: The address bound to the key.
- @type address: str
- @param doc: Document obtained from Soledad storage.
- @type doc: leap.soledad.backends.leap_backend.LeapDocument
- @return: An instance of the key.
- @rtype: C{kClass}
- """
- return _build_key_from_dict(kClass, address, doc.content)
-
-
-def _keymanager_doc_id(ktype, address, private=False):
- """
- Return the document id for the document containing a key for
- C{address}.
-
- @param address: The type of the key.
- @type address: KeyType
- @param address: The address bound to the key.
- @type address: str
- @param private: Whether the key is private or not.
- @type private: bool
- @return: The document id for the document that stores a key bound to
- C{address}.
- @rtype: str
- """
- leap_assert(_is_address(address), "Wrong address format: %s" % address)
- ktype = str(ktype)
- visibility = 'private' if private else 'public'
- return sha256('key-manager-'+address+'-'+ktype+'-'+visibility).hexdigest()