summaryrefslogtreecommitdiffstats
path: root/src/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto')
-rw-r--r--src/crypto/axtls_sha1.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/crypto/axtls_sha1.c b/src/crypto/axtls_sha1.c
new file mode 100644
index 000000000..17c087977
--- /dev/null
+++ b/src/crypto/axtls_sha1.c
@@ -0,0 +1,26 @@
+#include "crypto/axtls/crypto.h"
+#include <gpxe/crypto.h>
+#include <gpxe/sha1.h>
+
+static void sha1_init ( void *ctx ) {
+ SHA1Init ( ctx );
+}
+
+static void sha1_update ( void *ctx, const void *data, void *dst __unused,
+ size_t len ) {
+ SHA1Update ( ctx, data, len );
+}
+
+static void sha1_final ( void *ctx, void *out ) {
+ SHA1Final ( ctx, out );
+}
+
+struct crypto_algorithm sha1_algorithm = {
+ .name = "sha1",
+ .ctxsize = sizeof ( SHA1_CTX ),
+ .blocksize = 64,
+ .digestsize = SHA1_SIZE,
+ .init = sha1_init,
+ .encode = sha1_update,
+ .final = sha1_final,
+};