1*e7b1675dSTing-Kang Chang# Java digital signature example 2*e7b1675dSTing-Kang Chang 3*e7b1675dSTing-Kang ChangThis is an example showing how to sign and verify data with Tink using digital 4*e7b1675dSTing-Kang Changsignatures. 5*e7b1675dSTing-Kang Chang 6*e7b1675dSTing-Kang ChangIt demonstrates the basic steps of using Tink, namely loading key material, 7*e7b1675dSTing-Kang Changobtaining a primitive, and using the primitive to do crypto. 8*e7b1675dSTing-Kang Chang 9*e7b1675dSTing-Kang ChangThe key material was generated with: 10*e7b1675dSTing-Kang Chang 11*e7b1675dSTing-Kang Chang```shell 12*e7b1675dSTing-Kang Changtinkey create-keyset --key-template ECDSA_P256 --out-format JSON \ 13*e7b1675dSTing-Kang Chang --out signature_test_private_keyset.json 14*e7b1675dSTing-Kang Changtinkey create-public-keyset --in signature_test_private_keyset.json \ 15*e7b1675dSTing-Kang Chang --in-format JSON --out-format JSON --out signature_test_public_keyset.json 16*e7b1675dSTing-Kang Chang``` 17*e7b1675dSTing-Kang Chang 18*e7b1675dSTing-Kang Chang## Build and Run 19*e7b1675dSTing-Kang Chang 20*e7b1675dSTing-Kang Chang### Bazel 21*e7b1675dSTing-Kang Chang 22*e7b1675dSTing-Kang Chang```shell 23*e7b1675dSTing-Kang Changgit clone https://github.com/google/tink 24*e7b1675dSTing-Kang Changcd tink/examples/java_src 25*e7b1675dSTing-Kang Changbazel build ... 26*e7b1675dSTing-Kang Chang 27*e7b1675dSTing-Kang Changecho "some data" > data.txt 28*e7b1675dSTing-Kang Changtouch signature_file.txt 29*e7b1675dSTing-Kang Chang 30*e7b1675dSTing-Kang Chang./bazel-bin/signature/signature_example sign \ 31*e7b1675dSTing-Kang Chang ./signature/signature_test_private_keyset.json data.txt signature_file.txt 32*e7b1675dSTing-Kang Chang 33*e7b1675dSTing-Kang Chang./bazel-bin/signature/signature_example verify \ 34*e7b1675dSTing-Kang Chang ./signature/signature_test_public_keyset.json data.txt signature_file.txt 35*e7b1675dSTing-Kang Chang``` 36