The directory contains a wrapper for EPID sdk library, libepid, which provides an easier way to create EPID signatures and verify. The EPID sdk is located at platform/external/epid-sdk/
.
The C/C++ library contains two main functions EPID_Sign
and EPID_Verify
. The python library include wrappers to call the C/C++ functions, and functions to check EPID key certificate: verify_cert_file
.
interface/
python_interface/
test/
testdata/
Android.bp
The C/C++ libraries and unit tests can be built with Soong. They are available on both the target and the host. Both shared and static libraries are available. The build targets for the library and tests are libepid
and libepid_utest
, respectively.
C/C++ shared library libepid.so
is needed for the python interface. A prebuilt library for linux x86_64 is in python_interface/
testdata/
ContentsUnittest data include EPID public and private keys for two different EPID groups. An EPID certificate chain (in DER format) is also incuded.
group1pubkey.bin
: public key binarygroup1privkey1.bin
, group1privkey2.bin
, group1privkey3.bin
: private keysgroup2pubkey.bin
: public key binarygroup2privkey1.bin
, group2privkey2.bin
, group2privkey3.bin
: private keyscert0.cer
: certificate for the EPID key, leafcert1.cer
: intermidiate CA certificate, used to sign cert0.cer
cert2.cer
: root CA certificate, used to sign cert0.cer