aboutsummaryrefslogtreecommitdiff
path: root/sys/crypto
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2018-07-18 04:37:14 +0000
committerConrad Meyer <cem@FreeBSD.org>2018-07-18 04:37:14 +0000
commitd9f87e4651fa7dda42dc8c895bdee2cbd47ad929 (patch)
treed30114d61de0d78b358d49ae7092bbdc22109fac /sys/crypto
parente2982a3ed291d7d0b296295c8eef9be73803f9aa (diff)
downloadsrc-d9f87e4651fa7dda42dc8c895bdee2cbd47ad929.tar.gz
src-d9f87e4651fa7dda42dc8c895bdee2cbd47ad929.zip
aesni(4): Add sha256 plain hash support
Notes
Notes: svn path=/head/; revision=336443
Diffstat (limited to 'sys/crypto')
-rw-r--r--sys/crypto/aesni/aesni.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/crypto/aesni/aesni.c b/sys/crypto/aesni/aesni.c
index fc23acaee409..e9f5a0dcd562 100644
--- a/sys/crypto/aesni/aesni.c
+++ b/sys/crypto/aesni/aesni.c
@@ -196,6 +196,7 @@ aesni_attach(device_t dev)
if (sc->has_sha) {
crypto_register(sc->cid, CRYPTO_SHA1, 0, 0);
crypto_register(sc->cid, CRYPTO_SHA1_HMAC, 0, 0);
+ crypto_register(sc->cid, CRYPTO_SHA2_256, 0, 0);
crypto_register(sc->cid, CRYPTO_SHA2_256_HMAC, 0, 0);
}
return (0);
@@ -265,6 +266,7 @@ aesni_newsession(device_t dev, crypto_session_t cses, struct cryptoini *cri)
break;
case CRYPTO_SHA1:
case CRYPTO_SHA1_HMAC:
+ case CRYPTO_SHA2_256:
case CRYPTO_SHA2_256_HMAC:
if (!sc->has_sha)
goto unhandled;
@@ -350,6 +352,7 @@ aesni_process(device_t dev, struct cryptop *crp, int hint __unused)
case CRYPTO_AES_256_NIST_GMAC:
case CRYPTO_SHA1:
case CRYPTO_SHA1_HMAC:
+ case CRYPTO_SHA2_256:
case CRYPTO_SHA2_256_HMAC:
if (authcrd != NULL) {
error = EINVAL;
@@ -477,6 +480,7 @@ aesni_cipher_setup(struct aesni_session *ses, struct cryptoini *encini,
switch (ses->auth_algo) {
case CRYPTO_SHA1:
case CRYPTO_SHA1_HMAC:
+ case CRYPTO_SHA2_256:
case CRYPTO_SHA2_256_HMAC:
error = aesni_authprepare(ses, authini->cri_klen,
authini->cri_key);
@@ -858,6 +862,8 @@ aesni_cipher_mac(struct aesni_session *ses, struct cryptodesc *crd,
case CRYPTO_SHA2_256_HMAC:
hmac = true;
+ /* FALLTHROUGH */
+ case CRYPTO_SHA2_256:
hashlen = SHA2_256_HASH_LEN;
InitFn = SHA256_Init_fn;
UpdateFn = intel_sha256_update;