Exemplo n.º 1
0
    def create(self,
               alias,
               realm,
               description=None,
               policy=None,
               usage=None,
               key_type=None,
               sequence=None):
        """

        :param key_type:
        :param usage:
        :param policy:
        :param alias:
        :param realm:
        :param description:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_alias": alias,
            "realm": realm,
            "key_description": description,
            "key_policy": policy,
            "key_usage": usage,
            "key_type": key_type,
            "sequence": sequence,
        })
        return self._create('/create-key', json=json, key="key_info")
Exemplo n.º 2
0
    def get(self, key_id, sequence=None):
        """get key detail

        :param key_id:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "sequence": sequence,
        })
        return self._create("/describe-key", json=json, key="key_info")
Exemplo n.º 3
0
    def disable(self, key_id, sequence=None):
        """disable key

        :param key_id:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "sequence": sequence,
        })
        return self._create("/disable-key", json=json, key="key_info")
Exemplo n.º 4
0
    def cancel_delete(self, key_id, sequence=None):
        """delete key

        :param key_id:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "sequence": sequence,
        })
        return self._create("/cancel-key-deletion", json=json)
Exemplo n.º 5
0
    def random_data(self, random_data_length=None, sequence=None):
        """random data

        :param random_data_length:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "random_data_length": random_data_length,
            "sequence": sequence,
        })
        return self._create("/gen-random", json=json, raw=True)
Exemplo n.º 6
0
    def list(self, marker=None, limit=None, sequence=None):
        """list keys

        :param marker:
        :param limit:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "marker": marker,
            "limit": limit,
            "sequence": sequence,
        })
        return self._create("/list-keys", json=json)
Exemplo n.º 7
0
    def delete(self, key_id, pending_days, sequence=None):
        """delete key

        :param key_id:
        :param pending_days: delete after days
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "pending_days": pending_days,
            "sequence": sequence,
        })
        return self._create("/schedule-key-deletion", json=json)
Exemplo n.º 8
0
    def create_no_plain_encrypt_data(self, key_id, datakey_length=None,
                                     encryption_context=None, sequence=None):
        """create datakeys data pair without plain text returned

        :param key_id:
        :param datakey_length: 512 for now
        :param encryption_context:
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "encryption_context": encryption_context,
            "datakey_length": datakey_length,
            "sequence": sequence,
        })
        return self._create("/create-datakey-without-plaintext", json=json)
Exemplo n.º 9
0
    def decrypt_data(self, key_id, cipher_text, datakey_cipher_length=None,
                     encryption_context=None, sequence=None):
        """decrypt data

        :param datakey_cipher_length:
        :param encryption_context:
        :param key_id:
        :param cipher_text: DEK encrypted text
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "cipher_text": cipher_text,
            "encryption_context": encryption_context,
            "datakey_cipher_length": datakey_cipher_length,
            "sequence": sequence,
        })
        return self._create("/decrypt-datakey", json=json)
Exemplo n.º 10
0
    def encrypt_data(self, key_id, plain_text, datakey_plain_length=None,
                     encryption_context=None, sequence=None):
        """encrypt data

        :param datakey_plain_length:
        :param encryption_context: 64 for now
        :param key_id:
        :param plain_text: 64 bit DEK plain text
        :param sequence:
        :return:
        """
        json = utils.remove_empty_from_dict({
            "key_id": key_id,
            "plain_text": plain_text,
            "encryption_context": encryption_context,
            "datakey_plain_length": datakey_plain_length,
            "sequence": sequence,
        })
        return self._create("/encrypt-datakey", json=json)
Exemplo n.º 11
0
 def test_remove_empty_from_dict(self):
     d = dict(k1=None, k2='', k3='abc')
     self.assertEqual({'k3': 'abc'}, utils.remove_empty_from_dict(d))