Skip to content

Access to intermediate HASH data is need to support ISO7816-8 "5.5 HASH operation" #17688

@dengert

Description

@dengert

EVP_MD_CTX_get0_md_data is not deprecated in 3.0.1 but it returns a pointer to hash structures which are deprecated, such as SHA_CTX and SHA256_CTX in our case. I believe this is an oversight.

ISO/IEC 7816-8 "Identification cards — Integrated circuit cards — Part 8: Commands for security operations" "5.5 HASH operation" says:
"The HASH operation initiates the computation of a hash-code by performing:
 either the complete computation inside the card or
a partial computation inside the card (e.g. last round of hashing)."

The above requires the intermediate hash data to be accessible to be sent to the card so the card can do last round of hashing.

OpenSC has used OpenSSL hash routines for SHA1 and SHA256 with cards that can do: "a partial computation inside the card (e.g. last round of hashing)." in previous version but needs a way to get access to at least the SHA256_CTX in 3.0.1.

A proposed patch is to copy the SHA_CTX and SHA256_CTX definition and other defines is here:
OpenSC/OpenSC@1f3df78
But is based on the structures not changing in future versions of OpenSSL.

Can the intermediate hash data for at least SHA256 not be deprecated or made available in some other way?

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triaged: featureThe issue/pr requests/adds a feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions