Esempio n. 1
0
def keyset_from_json(stub: testing_api_pb2_grpc.KeysetStub,
                     json_keyset: Text) -> bytes:
    request = testing_api_pb2.KeysetFromJsonRequest(json_keyset=json_keyset)
    response = stub.FromJson(request)
    if response.err:
        raise tink.TinkError(response.err)
    return response.keyset
Esempio n. 2
0
    def test_from_json(self):
        keyset_servicer = services.KeysetServicer()
        json_keyset = """
        {
          "primaryKeyId": 42,
          "key": [
            {
              "keyData": {
                "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmKey",
                "keyMaterialType": "SYMMETRIC",
                "value": "AFakeTestKeyValue1234567"

              },
              "outputPrefixType": "TINK",
              "keyId": 42,
              "status": "ENABLED"
            }
          ]
        }"""
        request = testing_api_pb2.KeysetFromJsonRequest(
            json_keyset=json_keyset)
        response = keyset_servicer.FromJson(request, self._ctx)
        self.assertEqual(response.WhichOneof('result'), 'keyset')
        keyset = tink.BinaryKeysetReader(response.keyset).read()
        self.assertEqual(keyset.primary_key_id, 42)
        self.assertLen(keyset.key, 1)
  def test_generate_to_from_json(self):
    keyset_servicer = services.KeysetServicer()

    template = aead.aead_key_templates.AES128_GCM.SerializeToString()
    gen_request = testing_api_pb2.KeysetGenerateRequest(template=template)
    gen_response = keyset_servicer.Generate(gen_request, self._ctx)
    self.assertEqual(gen_response.WhichOneof('result'), 'keyset')
    keyset = gen_response.keyset

    tojson_request = testing_api_pb2.KeysetToJsonRequest(keyset=keyset)
    tojson_response = keyset_servicer.ToJson(tojson_request, self._ctx)
    self.assertEqual(tojson_response.WhichOneof('result'), 'json_keyset')
    json_keyset = tojson_response.json_keyset

    fromjson_request = testing_api_pb2.KeysetFromJsonRequest(
        json_keyset=json_keyset)
    fromjson_response = keyset_servicer.FromJson(fromjson_request, self._ctx)
    self.assertEqual(fromjson_response.WhichOneof('result'), 'keyset')
    self.assertEqual(fromjson_response.keyset, keyset)
Esempio n. 4
0
 def test_from_json_fail(self):
     keyset_servicer = services.KeysetServicer()
     request = testing_api_pb2.KeysetFromJsonRequest(json_keyset='bad json')
     response = keyset_servicer.FromJson(request, self._ctx)
     self.assertEqual(response.WhichOneof('result'), 'err')
     self.assertNotEmpty(response.err)