summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2021-10-06 03:35:14 +0000
committerDamien Miller <djm@cvs.openbsd.org>2021-10-06 03:35:14 +0000
commit33966ed2167f62cf7fd86fadb76f90dd1fcb9d75 (patch)
tree2d86697585d690321426e5aba5cb9f5dbb459048
parentd72bc25c15955e03f1cf38eb2dd0e415959fb039 (diff)
use libc SHA256 functions; make this work when compiled !WITH_OPENSSL
-rw-r--r--regress/usr.bin/ssh/misc/sk-dummy/sk-dummy.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/regress/usr.bin/ssh/misc/sk-dummy/sk-dummy.c b/regress/usr.bin/ssh/misc/sk-dummy/sk-dummy.c
index 54e7d06c600..579efca3a5b 100644
--- a/regress/usr.bin/ssh/misc/sk-dummy/sk-dummy.c
+++ b/regress/usr.bin/ssh/misc/sk-dummy/sk-dummy.c
@@ -20,6 +20,7 @@
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
+#include <sha2.h>
#include "crypto_api.h"
#include "sk-api.h"
@@ -304,7 +305,7 @@ sig_ecdsa(const uint8_t *message, size_t message_len,
BIO *bio = NULL;
EVP_PKEY *pk = NULL;
EC_KEY *ec = NULL;
- SHA256_CTX ctx;
+ SHA2_CTX ctx;
uint8_t apphash[SHA256_DIGEST_LENGTH];
uint8_t sighash[SHA256_DIGEST_LENGTH];
uint8_t countbuf[4];
@@ -334,9 +335,9 @@ sig_ecdsa(const uint8_t *message, size_t message_len,
}
/* Prepare data to be signed */
dump("message", message, message_len);
- SHA256_Init(&ctx);
- SHA256_Update(&ctx, application, strlen(application));
- SHA256_Final(apphash, &ctx);
+ SHA256Init(&ctx);
+ SHA256Update(&ctx, application, strlen(application));
+ SHA256Final(apphash, &ctx);
dump("apphash", apphash, sizeof(apphash));
countbuf[0] = (counter >> 24) & 0xff;
countbuf[1] = (counter >> 16) & 0xff;
@@ -344,12 +345,12 @@ sig_ecdsa(const uint8_t *message, size_t message_len,
countbuf[3] = counter & 0xff;
dump("countbuf", countbuf, sizeof(countbuf));
dump("flags", &flags, sizeof(flags));
- SHA256_Init(&ctx);
- SHA256_Update(&ctx, apphash, sizeof(apphash));
- SHA256_Update(&ctx, &flags, sizeof(flags));
- SHA256_Update(&ctx, countbuf, sizeof(countbuf));
- SHA256_Update(&ctx, message, message_len);
- SHA256_Final(sighash, &ctx);
+ SHA256Init(&ctx);
+ SHA256Update(&ctx, apphash, sizeof(apphash));
+ SHA256Update(&ctx, &flags, sizeof(flags));
+ SHA256Update(&ctx, countbuf, sizeof(countbuf));
+ SHA256Update(&ctx, message, message_len);
+ SHA256Final(sighash, &ctx);
dump("sighash", sighash, sizeof(sighash));
/* create and encode signature */
if ((sig = ECDSA_do_sign(sighash, sizeof(sighash), ec)) == NULL) {
@@ -392,7 +393,7 @@ sig_ed25519(const uint8_t *message, size_t message_len,
{
size_t o;
int ret = -1;
- SHA256_CTX ctx;
+ SHA2_CTX ctx;
uint8_t apphash[SHA256_DIGEST_LENGTH];
uint8_t signbuf[sizeof(apphash) + sizeof(flags) +
sizeof(counter) + SHA256_DIGEST_LENGTH];
@@ -410,9 +411,9 @@ sig_ed25519(const uint8_t *message, size_t message_len,
}
/* Prepare data to be signed */
dump("message", message, message_len);
- SHA256_Init(&ctx);
- SHA256_Update(&ctx, application, strlen(application));
- SHA256_Final(apphash, &ctx);
+ SHA256Init(&ctx);
+ SHA256Update(&ctx, application, strlen(application));
+ SHA256Final(apphash, &ctx);
dump("apphash", apphash, sizeof(apphash));
memcpy(signbuf, apphash, sizeof(apphash));
@@ -470,7 +471,7 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen,
{
struct sk_sign_response *response = NULL;
int ret = SSH_SK_ERR_GENERAL;
- SHA256_CTX ctx;
+ SHA2_CTX ctx;
uint8_t message[32];
if (sign_response == NULL) {
@@ -484,9 +485,9 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen,
skdebug(__func__, "calloc response failed");
goto out;
}
- SHA256_Init(&ctx);
- SHA256_Update(&ctx, data, datalen);
- SHA256_Final(message, &ctx);
+ SHA256Init(&ctx);
+ SHA256Update(&ctx, data, datalen);
+ SHA256Final(message, &ctx);
response->flags = flags;
response->counter = 0x12345678;
switch(alg) {