[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[openssl-gost] [gost-engine/engine] a3b21c: Making a gost provider - move away the error sourc...



  Branch: refs/heads/master
  Home:   https://github.com/gost-engine/engine
  Commit: a3b21ced5bfe2c42a04cfad7d4f8499f27ec31ca
      https://github.com/gost-engine/engine/commit/a3b21ced5bfe2c42a04cfad7d4f8499f27ec31ca
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Making a gost provider - move away the error source files

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.


  Commit: 23ccf9300e496e115742a44d5f52490f431156f5
      https://github.com/gost-engine/engine/commit/23ccf9300e496e115742a44d5f52490f431156f5
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M gost_eng.c

  Log Message:
  -----------
  Making a gost provider - Refactor the engine to become a backend

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.


  Commit: 265d89dcbce7fce4fa2b560b70597132fd8eb3b2
      https://github.com/gost-engine/engine/commit/265d89dcbce7fce4fa2b560b70597132fd8eb3b2
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M .cirrus.yml
    M .github/workflows/ci.yml
    M .github/workflows/codeql-analysis.yml
    A .gitmodules
    M CMakeLists.txt
    M e_gost_err.c
    M gost_lcl.h
    A gost_prov.c
    A gost_prov.h
    A libprov

  Log Message:
  -----------
  Making a gost provider - Add the provider foundation

This adds the source to get a minimal provider that provides...
nothing.


  Commit: 0021eb1fac2d7a6e628b1a4125cecd7520f7b6b6
      https://github.com/gost-engine/engine/commit/0021eb1fac2d7a6e628b1a4125cecd7520f7b6b6
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M test/00-engine.t
    A test/00-provider.t
    M test/01-digest.t
    M test/02-mac.t
    M test/03-encrypt.t
    M test/04-pkey.t
    R test/empty.cnf
    A test/provider.cnf

  Log Message:
  -----------
  Making a gost provider - Refactor the testing foundation

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.


  Commit: bd2d5542f307ae0e9e98a291f0d765a0be58b5fd
      https://github.com/gost-engine/engine/commit/bd2d5542f307ae0e9e98a291f0d765a0be58b5fd
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M gost_lcl.h
    M gost_prov.c
    A gost_prov_cipher.c
    M test/03-encrypt.t

  Log Message:
  -----------
  Making a gost provider - Add the ciphers

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.


  Commit: dd645e71d12ec790dc6c2e1c44163e2683ae4c6a
      https://github.com/gost-engine/engine/commit/dd645e71d12ec790dc6c2e1c44163e2683ae4c6a
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M gost_lcl.h
    M gost_prov.c
    A gost_prov_digest.c
    M test/01-digest.t

  Log Message:
  -----------
  Making a gost provider - Add the digests

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.


  Commit: 0d53de14d01e8e079e5b5b4e08ec6e9f063139cc
      https://github.com/gost-engine/engine/commit/0d53de14d01e8e079e5b5b4e08ec6e9f063139cc
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M gost_lcl.h
    M gost_prov.c
    A gost_prov_mac.c
    M test/02-mac.t

  Log Message:
  -----------
  Making a gost provider - Add the macs

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.


  Commit: 27d1f87c77844f58e13805c0c4bed3d373f1ee07
      https://github.com/gost-engine/engine/commit/27d1f87c77844f58e13805c0c4bed3d373f1ee07
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M gost_omac.c
    M gost_omac_acpkm.c

  Log Message:
  -----------
  Making a gost provider - Adapt the grasshopper OMACs for providers

They needed to be modified to handled EVP_CIPHERs implemented by a
provider.


  Commit: b92c6c80b9a1790933d1fd6817b674e724658dc8
      https://github.com/gost-engine/engine/commit/b92c6c80b9a1790933d1fd6817b674e724658dc8
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M test_digest.c

  Log Message:
  -----------
  Making a gost provider - Adapt test_digest.c for providers


  Commit: c7c5c6387bdfabd1fb17860ca7432b277168798b
      https://github.com/gost-engine/engine/commit/c7c5c6387bdfabd1fb17860ca7432b277168798b
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M test_ciphers.c

  Log Message:
  -----------
  Making a gost provider - Adapt test_ciphers.c for providers


  Commit: b2b9839e2c43d7919f3d7a5a8266ab1cfaf58b8f
      https://github.com/gost-engine/engine/commit/b2b9839e2c43d7919f3d7a5a8266ab1cfaf58b8f
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt
    M test_context.c

  Log Message:
  -----------
  Making a gost provider - Adapt test_context.c for providers


  Commit: c27d64c2a318288c06fe4bd6bb852d85c3ddb4fb
      https://github.com/gost-engine/engine/commit/c27d64c2a318288c06fe4bd6bb852d85c3ddb4fb
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Making a gost provider - installation instructions


  Commit: 4952acb810d5bca35ff514099a5c43bc13a06405
      https://github.com/gost-engine/engine/commit/4952acb810d5bca35ff514099a5c43bc13a06405
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M libprov

  Log Message:
  -----------
  libprov: update to latest


  Commit: df3ead272bd2019f98d16e6787f5df51556c0603
      https://github.com/gost-engine/engine/commit/df3ead272bd2019f98d16e6787f5df51556c0603
  Author: Richard Levitte <richard@levitte.org>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M README.md
    A README.prov.md

  Log Message:
  -----------
  Document the current state of the GOST provider


Compare: https://github.com/gost-engine/engine/compare/a6014f3569ca...df3ead272bd2