Конструкция ключа в Tink для KeysetHandle - PullRequest
9 голосов
/ 17 мая 2019

Следующие строки показывают, как создать ключ в Tink:

  • keysetHandle=KeysetHandle.generateNew(AeadKeyTemplates.AES128_GCM)
  • privateKeysetHandle = KeysetHandle.generateNew(SignatureKeyTemplates.ECDSA_P256)

Не могли бы вы показать мне, какчтобы создать ключ, учитывая параметры, такие как байты ключа и связанные параметры?


Также возможно создать ключ, загрузив параметры из JSON:

  String keysetFilename = "my_keyset.json";
  KeysetHandle keysetHandle = CleartextKeysetHandle.read(
          JsonKeysetReader.withFile(new File(keysetFilename)));

Какформат ключа в JSON определен?

1 Ответ

0 голосов
/ 13 июня 2019

Мартен Бодевес: не могли бы вы рассказать нам, что не так с API, и как, по вашему мнению, его следует изменить? Мы все уши для обратной связи.

Ursa Major: мы не хотим, чтобы пользователи имели дело с ключами напрямую, потому что это легко испортить. Именно поэтому мы предоставляем API, которые генерируют, сохраняют и загружают ключи. Java HOWTO [1] показывает, как это сделать.

Похоже, у вас есть существующий ключ в каком-то другом формате, который вы хотите использовать с Tink. Ключи Тинка хранятся в protobuf. Каждый тип ключа определяется в своем собственном протобуфе. Вы можете найти все определения в https://github.com/google/tink/tree/master/proto. Tink работает не с отдельными ключами, а с наборами ключей, которые также являются протобуфными. Вы можете преобразовать существующие ключи в наборы ключей Tink, предоставив реализацию KeysetReader. SignaturePemKeysetReader [2] является примером, который преобразует определенные ключи PEM в Tink.

Если у вас возникнут какие-либо дальнейшие проблемы, не стесняйтесь комментировать или отправлять по электронной почте список рассылки по адресу tink-users@googlegroups.com.

Надеюсь, это поможет, Thai.

[1] https://github.com/google/tink/blob/master/docs/JAVA-HOWTO.md [2] https://github.com/google/tink/blob/master/java/src/main/java/com/google/crypto/tink/signature/SignaturePemKeysetReader.java

...