boringssl/crypto/fipsmodule
Joshua Liebow-Feeser 8c7c6356e6 Support symbol prefixes
- In base.h, if BORINGSSL_PREFIX is defined, include
  boringssl_prefix_symbols.h
- In all .S files, if BORINGSSL_PREFIX is defined, include
  boringssl_prefix_symbols_asm.h
- In base.h, BSSL_NAMESPACE_BEGIN and BSSL_NAMESPACE_END are
  defined with appropriate values depending on whether
  BORINGSSL_PREFIX is defined; these macros are used in place
  of 'namespace bssl {' and '}'
- Add util/make_prefix_headers.go, which takes a list of symbols
  and auto-generates the header files mentioned above
- In CMakeLists.txt, if BORINGSSL_PREFIX and BORINGSSL_PREFIX_SYMBOLS
  are defined, run util/make_prefix_headers.go to generate header
  files
- In various CMakeLists.txt files, add "global_target" that all
  targets depend on to give us a place to hook logic that must run
  before all other targets (in particular, the header file generation
  logic)
- Document this in BUILDING.md, including the fact that it is
  the caller's responsibility to provide the symbol list and keep it
  up to date
- Note that this scheme has not been tested on Windows, and likely
  does not work on it; Windows support will need to be added in a
  future commit

Change-Id: If66a7157f46b5b66230ef91e15826b910cf979a2
Reviewed-on: https://boringssl-review.googlesource.com/31364
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: David Benjamin <davidben@google.com>
2018-09-06 20:07:52 +00:00
..
aes Rename |asm_AES_*| to |aes_nohw_*|. 2018-05-15 23:02:52 +00:00
bn No negative moduli. 2018-09-04 22:26:53 +00:00
cipher Update TLS 1.3 citations for the final RFC. 2018-08-16 18:37:50 +00:00
des Move OPENSSL_FALLTHROUGH to internal headers. 2018-01-29 18:17:57 +00:00
digest Match OpenSSL's EVP_MD_CTX_reset return value. 2018-05-29 17:07:16 +00:00
ec Zero-initialize tmp in ec_GFp_simple_mul_single. 2018-06-13 19:58:24 +00:00
ecdh Add ECDH_compute_key_fips inside the module. 2018-07-30 22:40:31 +00:00
ecdsa Align ECDSA sign/verify scalar inversions. 2018-04-24 16:00:12 +00:00
hmac Switch OPENSSL_VERSION_NUMBER to 1.1.0. 2017-09-29 04:51:27 +00:00
md4 Run the comment converter on libcrypto. 2017-08-18 21:49:04 +00:00
md5 Run the comment converter on libcrypto. 2017-08-18 21:49:04 +00:00
modes Update several assembly files from upstream. 2018-08-07 18:57:17 +00:00
policydocs Update FIPS documentation with pointer to the cert and security policy. 2017-07-20 03:32:08 +00:00
rand Update several assembly files from upstream. 2018-08-07 18:57:17 +00:00
rsa Clarify thread-safety of key objects. 2018-08-28 18:52:59 +00:00
self_check Write error messages in the FIPS module to stderr. 2018-06-25 10:30:42 +00:00
sha Update several assembly files from upstream. 2018-08-07 18:57:17 +00:00
tls Fix include path. 2018-05-08 16:26:05 +00:00
bcm.c Add ECDH_compute_key_fips inside the module. 2018-07-30 22:40:31 +00:00
CMakeLists.txt Support symbol prefixes 2018-09-06 20:07:52 +00:00
delocate.h Use a pool of |rand_state| objects. 2018-07-06 21:25:37 +00:00
FIPS.md Update link to CMVP certificate. 2018-02-26 22:14:35 +00:00
intcheck1.png First part of the FIPS module. 2017-04-07 00:05:34 +00:00
intcheck2.png Inject FIPS hash without running module. 2017-04-12 23:09:38 +00:00
intcheck3.png First part of the FIPS module. 2017-04-07 00:05:34 +00:00
is_fips.c Add some more compatibility functions. 2018-05-08 20:51:15 +00:00