{
    "mode": "man",
    "parameter": "EVP_MAC-HMAC",
    "section": "7ssl",
    "url": "https://www.chedong.com/phpMan.php/man/EVP_MAC-HMAC/7ssl/json",
    "generated": "2026-06-15T14:09:38Z",
    "sections": {
        "NAME": {
            "content": "EVPMAC-HMAC - The HMAC EVPMAC implementation\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Support for computing HMAC MACs through the EVPMAC API.\n\nThis implementation uses EVPMD functions to get access to the underlying digest.\n",
            "subsections": [
                {
                    "name": "Identity",
                    "content": "This implementation is identified with this name and properties, to be used with\nEVPMACfetch():\n\n\"HMAC\", \"provider=default\" or \"provider=fips\"\n"
                },
                {
                    "name": "Supported parameters",
                    "content": "The general description of these parameters can be found in \"PARAMETERS\" in EVPMAC(3).\n\nThe following parameter can be set with EVPMACCTXsetparams():\n\n\"key\" (OSSLMACPARAMKEY) <octet string>\nSets the MAC key.  Setting this parameter is identical to passing a key to\nEVPMACinit(3).\n\n\"digest\" (OSSLMACPARAMDIGEST) <UTF8 string>\nSets the name of the underlying digest to be used.\n\n\"properties\" (OSSLMACPARAMPROPERTIES) <UTF8 string>\nSets the properties to be queried when trying to fetch the underlying digest.  This must\nbe given together with the digest naming parameter (\"digest\", or OSSLMACPARAMDIGEST)\nto be considered valid.\n\n\"digest-noinit\" (OSSLMACPARAMDIGESTNOINIT) <integer>\nA flag to set the MAC digest to not initialise the implementation specific data.  The\nvalue 0 or 1 is expected.\n\n\"digest-oneshot\" (OSSLMACPARAMDIGESTONESHOT) <integer>\nA flag to set the MAC digest to be a one-shot operation.  The value 0 or 1 is expected.\n\n\"tls-data-size\" (OSSLMACPARAMTLSDATASIZE) <unsigned integer>\n\nThe following parameter can be retrieved with EVPMACCTXgetparams():\n\n\"size\" (OSSLMACPARAMSIZE) <unsigned integer>\nThe \"size\" parameter can also be retrieved with EVPMACCTXgetmacsize().  The length\nof the \"size\" parameter is equal to that of an unsigned int.\n\n\"block-size\" (OSSLMACPARAMSIZE) <unsigned integer>\nGets the MAC block size.  The \"block-size\" parameter can also be retrieved with\nEVPMACCTXgetblocksize().\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "EVPMACCTXgetparams(3), EVPMACCTXsetparams(3), \"PARAMETERS\" in EVPMAC(3),\nOSSLPARAM(3), HMAC(3)\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved.\n\nLicensed under the Apache License 2.0 (the \"License\").  You may not use this file except in\ncompliance with the License.  You can obtain a copy in the file LICENSE in the source\ndistribution or at <https://www.openssl.org/source/license.html>.\n\n\n\n3.0.2                                        2026-06-02                           EVPMAC-HMAC(7SSL)",
            "subsections": []
        }
    },
    "summary": "EVPMAC-HMAC - The HMAC EVPMAC implementation",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "EVPMACCTXgetparams",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/EVPMACCTXgetparams/3/json"
        },
        {
            "name": "EVPMACCTXsetparams",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/EVPMACCTXsetparams/3/json"
        },
        {
            "name": "EVPMAC",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/EVPMAC/3/json"
        },
        {
            "name": "OSSLPARAM",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/OSSLPARAM/3/json"
        },
        {
            "name": "HMAC",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/HMAC/3/json"
        }
    ]
}