xref: /aosp_15_r20/external/tink/python/examples/walkthrough/write_cleartext_keyset.py (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1# Copyright 2022 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS-IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14"""Example to showcase how to serialize a keyset as a cleartext."""
15# [START tink_walkthrough_write_cleartext_keyset]
16from typing import TextIO
17
18import tink
19
20from tink import cleartext_keyset_handle
21
22
23def WriteKeyset(keyset: tink.KeysetHandle, text_io_stream: TextIO) -> None:
24  """Serializes a keyset to JSON-serialized and writes it to text_io_stream.
25
26  Args:
27    keyset: Handle to a keyset to serialize.
28    text_io_stream: I/O stream where writng the Keyset to.
29
30  Raises:
31    tink.TinkError in case of errors.
32  """
33  cleartext_keyset_handle.write(tink.JsonKeysetWriter(text_io_stream), keyset)
34
35
36# [END tink_walkthrough_write_cleartext_keyset]
37