xref: /aosp_15_r20/external/tink/java_src/examples/cleartextkeyset/README.md (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1*e7b1675dSTing-Kang Chang# Java cleartext keysets example
2*e7b1675dSTing-Kang Chang
3*e7b1675dSTing-Kang ChangThis example shows how to generate or load a cleartext keyset, obtain a
4*e7b1675dSTing-Kang Changprimitive, and use the primitive to do crypto.
5*e7b1675dSTing-Kang Chang
6*e7b1675dSTing-Kang ChangWARNING: This is not recommended, consider protecting your keysets with a key
7*e7b1675dSTing-Kang Changmanagement system.
8*e7b1675dSTing-Kang Chang
9*e7b1675dSTing-Kang Chang## Build and run
10*e7b1675dSTing-Kang Chang
11*e7b1675dSTing-Kang Chang### Bazel
12*e7b1675dSTing-Kang Chang
13*e7b1675dSTing-Kang Chang```shell
14*e7b1675dSTing-Kang Changgit clone https://github.com/google/tink
15*e7b1675dSTing-Kang Changcd tink/examples/java_src
16*e7b1675dSTing-Kang Changbazel build ...
17*e7b1675dSTing-Kang Chang```
18*e7b1675dSTing-Kang Chang
19*e7b1675dSTing-Kang ChangGenerate a cleartext keyset:
20*e7b1675dSTing-Kang Chang
21*e7b1675dSTing-Kang Chang```shell
22*e7b1675dSTing-Kang Chang./bazel-bin/cleartextkeyset/cleartext_keyset_example generate aes128_gcm_test_keyset.json
23*e7b1675dSTing-Kang Chang```
24*e7b1675dSTing-Kang Chang
25*e7b1675dSTing-Kang ChangEncrypt a file with the resulting keyset:
26*e7b1675dSTing-Kang Chang
27*e7b1675dSTing-Kang Chang```shell
28*e7b1675dSTing-Kang Changecho "some data" > testdata.txt
29*e7b1675dSTing-Kang Chang./bazel-bin/cleartextkeyset/cleartext_keyset_example encrypt \
30*e7b1675dSTing-Kang Chang    aes128_gcm_test_keyset.json \
31*e7b1675dSTing-Kang Chang    testdata.txt testdata.txt.encrypted
32*e7b1675dSTing-Kang Chang```
33*e7b1675dSTing-Kang Chang
34*e7b1675dSTing-Kang ChangDecrypt the file with the resulting keyset:
35*e7b1675dSTing-Kang Chang
36*e7b1675dSTing-Kang Chang```shell
37*e7b1675dSTing-Kang Chang./bazel-bin/cleartextkeyset/cleartext_keyset_example decrypt \
38*e7b1675dSTing-Kang Chang    aes128_gcm_test_keyset.json \
39*e7b1675dSTing-Kang Chang    testdata.txt.encrypted testdata.txt.decrypted
40*e7b1675dSTing-Kang Chang
41*e7b1675dSTing-Kang Changdiff testdata.txt testdata.txt.decrypted
42*e7b1675dSTing-Kang Chang```
43