Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new provider encoders implementations for more output standards, take 2 #13167

Closed
wants to merge 35 commits into from

Commits on Nov 3, 2020

  1. Configuration menu
    Copy the full SHA
    2f54267 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c153ef0 View commit details
    Browse the repository at this point in the history
  3. ENCODER: Add support for OSSL_FUNC_encoder_does()

    OSSL_FUNC_encoder_does() is a dispatchable encoder implementation function
    that should return 1 if the given |selection| is supported by an encoder
    implementation and 0 if not.  This can be used by libcrypto functionality
    to figure out if an encoder implementation should be considered or not.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    4ee52aa View commit details
    Browse the repository at this point in the history
  4. ENCODER: Add output structure support for EVP_PKEY encoding

    OSSL_ENCODER_CTX_new_by_EVP_PKEY() takes one more argument to express
    the desired outermost structure for the output.
    
    This also adds OSSL_ENCODER_CTX_prune_encoders(), which is used to
    reduce the stack of encoders found according to criteria formed from
    the combination of desired selection, output type and output
    structure.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    3b3966f View commit details
    Browse the repository at this point in the history
  5. ENCODER: Add tracing

    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    a8b1d5a View commit details
    Browse the repository at this point in the history
  6. PROV: Re-implement all the keypair encoders

    The base functionality to implement the keypair encoders doesn't
    change much, but this results in a more massive amount of
    OSSL_DISPATCH and OSSL_ALGORITHM arrays, to support a fine grained
    selection of implementation based on what parts of the keypair
    structure (combinations of key parameters, public key and private key)
    should be output, the output type ("TEXT", "DER" or "PEM") and the
    outermost output structure ("pkcs8", "SubjectPublicKeyInfo", key
    type specific structures, ...).
    
    We add support for the generic structure name "type-specific", to
    allow selecting that without knowing the exact name of that structure.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    9f78033 View commit details
    Browse the repository at this point in the history
  7. Adapt libcrypto functionality to specify the desired output structure

    This also modifies i2d_PublicKey() and i2d_KeyParams() to support
    provided keys.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    c5007dc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    92c22c6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e8ecba1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    071f390 View commit details
    Browse the repository at this point in the history
  11. test/recipes/30-test_evp_libctx.t: use fips-and-base.cnf

    The FIPS provider module doesn't have any encoders, the base provider
    is needed for that.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    58f8d3b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5590e53 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d3945e6 View commit details
    Browse the repository at this point in the history
  14. fixup! ENCODER: Add tracing

    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    e3afe7b View commit details
    Browse the repository at this point in the history
  15. squash! ENCODER: Add output structure support for EVP_PKEY encoding

    Replace the paragraph talking about OSSL_ENCODER_CTX_prune_encoders() with:
    
    The encoding processor encoder_process() is enhanced with better
    analysis of the stack of encoder implementations.  To avoid having to
    keep an on the side array of information, it uses recursion.
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    755d636 View commit details
    Browse the repository at this point in the history
  16. fixup! ENCODER: Add tracing

    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    823474b View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    82ef63a View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    16b26c1 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    e6c54e2 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    51012d1 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    e3f5601 View commit details
    Browse the repository at this point in the history
  22. squash! ENCODER: Add support for OSSL_FUNC_encoder_does()

    Rename OSSL_FUNC_encoder_does() to OSSL_FUNC_encoder_does_selection()
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    dcdad08 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    5ecec40 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    30bef93 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    ac611e2 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    391c3a6 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    a0e94ca View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    bb7ae33 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    b5d2055 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    07fafef View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    bda66dd View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    f95bc2e View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    801d2cd View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    707f02a View commit details
    Browse the repository at this point in the history
  35. squash! test/evp_libctx_test.c: use i2d_PublicKey_ex() instead of i2d…

    …_PublicKey()
    
    New commit message:
    
    test/evp_libctx_test.c: use OSSL_ENCODER instead of i2d_PublicKey()
    levitte committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    e762d58 View commit details
    Browse the repository at this point in the history