1. Oct 12, 2021
    • Richard Levitte's avatar
      Making a gost provider - Add the macs · 0d53de14
      Richard Levitte authored
      We add the macs for the provider as wrappers around the EVP_MD
      implementations designed for ENGINEs.  This is not the most elegant,
      but it does the job.
      
      When an algorithm has an OID, it's included in the OSSL_ALGORITHM name
      as an alias.  This is the way to avoid having to register the OIDs in
      OpenSSL proper.
      0d53de14
    • Richard Levitte's avatar
      Making a gost provider - Add the digests · dd645e71
      Richard Levitte authored
      We add the digests for the provider as wrappers around the routines
      designed for ENGINEs.  This is not the most elegant, but it does the
      job.
      
      When an algorithm has an OID, it's included in the OSSL_ALGORITHM name
      as an aliase.  This is the way to avoid having to register the OIDs in
      OpenSSL proper.
      
      test/01-digest.t is modified to test the provider as well.
      dd645e71
    • Richard Levitte's avatar
      Making a gost provider - Add the ciphers · bd2d5542
      Richard Levitte authored
      We add the ciphers for the provider as wrappers around the routines
      designed for ENGINEs.  This is not the most elegant, but it does the
      job.
      
      When an algorithm has an OID, it's included in the OSSL_ALGORITHM name
      as an aliase.  This is the way to avoid having to register the OIDs in
      OpenSSL proper.
      
      test/03-encrypt.t is modified to test the provider as well.
      bd2d5542
    • Richard Levitte's avatar
      Making a gost provider - Refactor the testing foundation · 0021eb1f
      Richard Levitte authored
      This makes space for provider tests.
      
      As a beginning, test/00-provider.t is added.  It corresponds to
      test/00-engine.t.
      
      All other test/*.t are currently skipped unless the engine is tested.
      They will be re-enabled as support for each algorithm type is added in
      the provider code.
      0021eb1f
    • Richard Levitte's avatar
      Making a gost provider - Add the provider foundation · 265d89dc
      Richard Levitte authored
      This adds the source to get a minimal provider that provides...
      nothing.
      265d89dc
    • Richard Levitte's avatar
      Making a gost provider - Refactor the engine to become a backend · 23ccf930
      Richard Levitte authored
      The gost provider is planned to be a wrapper around the already
      existing functionality, designed for ENGINE use.
      
      The easiest way to do this is to let the gost ENGINE continue to exist
      within the gost provider, as an internal ENGINE.  To do that, we make
      it possible to build gost_eng.c so it only populates the GOST ENGINE
      structure, but doesn't perform any of the ENGINE registration.  That
      way, the GOST ENGINE structure becomes purely internal, and can be
      used as the actual implementation of the offered provider functionality,
      through diverse EVP calls that accept an ENGINE pointer.
      23ccf930
    • Richard Levitte's avatar
      Making a gost provider - move away the error source files · a3b21ced
      Richard Levitte authored
      The error source files, e_gost_err.c and e_gost_err.h, are not
      suitable for providers as they are, so we need to move those away from
      the core library, and leave it to the provider code to deal with it.
      a3b21ced
  2. Oct 08, 2021
  3. Sep 28, 2021
  4. Sep 19, 2021
  5. Sep 16, 2021
  6. Sep 06, 2021
  7. Sep 01, 2021
  8. Aug 29, 2021
  9. Aug 19, 2021
  10. Aug 18, 2021
    • Richard Levitte's avatar
      Switch to using OpenSSL target names in CMakeLists.txt · 36c50fa5
      Richard Levitte authored
      Cmake 3.0 was a switch to using targets and properties rather than
      variables when linking different components together.
      We follow that philosophy by dropping ${OPENSSL_CRYPTO_LIBRARIES} and
      ${OPENSSL_SSL_LIBRARIES} in favor of OpenSSL::Crypto and OpenSSL::SSL.
      36c50fa5
    • Richard Levitte's avatar
      Reduce the repeated library dependence information · 7ca9b827
      Richard Levitte authored
      Cmake is generally good at tracking specified dependencies between
      libraries.  All that we need to do is to establish a dependency on
      OpenSSL's libcrypto for 'gost_core', and then we can reduce the amount
      of repeated dependencies for everything that links against 'gost_core'.
      7ca9b827
    • Richard Levitte's avatar
      Make CMakeLists.txt work better with static OpenSSL libraries · 3df64777
      Richard Levitte authored
      The static OpenSSL libraries have some dependencies that need to be
      recorded fofr everything that's linked against it.  To achieve this,
      we use ${OPENSSL_CRYPTO_LIBRARIES} and ${OPENSSL_SSL_LIBRARIES}
      instead of ${OPENSSL_CRYPTO_LIBRARY} and ${OPENSSL_SSL_LIBRARY}.
      3df64777
  11. Aug 11, 2021
  12. Jun 02, 2021
  13. May 28, 2021
  14. May 23, 2021
  15. May 11, 2021
  16. May 06, 2021
  17. May 02, 2021
  18. Apr 02, 2021