Refactor keymaster tags.

This refactor separates declaration and definition of the tag
instances, so they don't get duplicated in every compilation unit.
Also, if tag names are enabled it provides a dynamically-generated map
from tags to names. This is only for testing/debugging use, but it's
very convenient for that. The test utils are updated to take advantage
of it.

Change-Id: I13ad2564e4a850c6b268a2cd1b3f5a37037ea6b7
5 files changed
tree: 2900eb803b7002e684036a2ee8336ceb1d3b5870
  1. include/
  2. .clang-format
  3. .gitignore
  4. ae.h
  5. aes_key.cpp
  6. aes_key.h
  7. aes_operation.cpp
  8. aes_operation.h
  9. Android.mk
  10. android_keymaster.cpp
  11. android_keymaster_messages.cpp
  12. android_keymaster_messages_test.cpp
  13. android_keymaster_test.cpp
  14. android_keymaster_test_utils.cpp
  15. android_keymaster_test_utils.h
  16. android_keymaster_utils.cpp
  17. asymmetric_key.cpp
  18. asymmetric_key.h
  19. asymmetric_key_factory.cpp
  20. auth_encrypted_key_blob.cpp
  21. auth_encrypted_key_blob.h
  22. authorization_set.cpp
  23. authorization_set_test.cpp
  24. ec_key.cpp
  25. ec_key.h
  26. ec_key_factory.cpp
  27. ec_keymaster0_key.cpp
  28. ec_keymaster0_key.h
  29. ec_keymaster1_key.cpp
  30. ec_keymaster1_key.h
  31. ec_privkey_pk8.der
  32. ecdsa_keymaster1_operation.cpp
  33. ecdsa_keymaster1_operation.h
  34. ecdsa_operation.cpp
  35. ecdsa_operation.h
  36. ecies_kem.cpp
  37. ecies_kem.h
  38. ecies_kem_test.cpp
  39. gtest_main.cpp
  40. hkdf.cpp
  41. hkdf.h
  42. hkdf_test.cpp
  43. hmac.cpp
  44. hmac.h
  45. hmac_key.cpp
  46. hmac_key.h
  47. hmac_operation.cpp
  48. hmac_operation.h
  49. hmac_test.cpp
  50. integrity_assured_key_blob.cpp
  51. integrity_assured_key_blob.h
  52. iso18033kdf.cpp
  53. iso18033kdf.h
  54. kdf.cpp
  55. kdf.h
  56. kdf1.h
  57. kdf1_test.cpp
  58. kdf2.h
  59. kdf2_test.cpp
  60. kdf_test.cpp
  61. kem.h
  62. key.cpp
  63. key.h
  64. key_blob_test.cpp
  65. key_exchange.h
  66. keymaster0_engine.cpp
  67. keymaster0_engine.h
  68. keymaster1_engine.cpp
  69. keymaster1_engine.h
  70. keymaster_enforcement.cpp
  71. keymaster_enforcement_test.cpp
  72. keymaster_tags.cpp
  73. km0_sw_rsa_512.blob
  74. km1_sw_ecdsa_256.blob
  75. km1_sw_rsa_512.blob
  76. km1_sw_rsa_512_unversioned.blob
  77. List.h
  78. logger.cpp
  79. Makefile
  80. MODULE_LICENSE_APACHE2
  81. nist_curve_key_exchange.cpp
  82. nist_curve_key_exchange.h
  83. nist_curve_key_exchange_test.cpp
  84. NOTICE
  85. ocb.c
  86. ocb_utils.cpp
  87. ocb_utils.h
  88. openssl_err.cpp
  89. openssl_err.h
  90. openssl_utils.cpp
  91. openssl_utils.h
  92. operation.cpp
  93. operation.h
  94. operation_table.cpp
  95. operation_table.h
  96. rsa_key.cpp
  97. rsa_key.h
  98. rsa_key_factory.cpp
  99. rsa_keymaster0_key.cpp
  100. rsa_keymaster0_key.h
  101. rsa_keymaster1_key.cpp
  102. rsa_keymaster1_key.h
  103. rsa_keymaster1_operation.cpp
  104. rsa_keymaster1_operation.h
  105. rsa_operation.cpp
  106. rsa_operation.h
  107. rsa_privkey_pk8.der
  108. serializable.cpp
  109. soft_keymaster_context.cpp
  110. soft_keymaster_device.cpp
  111. soft_keymaster_logger.cpp
  112. symmetric_key.cpp
  113. symmetric_key.h
  114. valgrind.supp