Add wrapper around axtls' sha1 code
authorMichael Brown <mcb30@etherboot.org>
Wed, 31 Jan 2007 12:24:01 +0000 (12:24 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 31 Jan 2007 12:24:01 +0000 (12:24 +0000)
src/crypto/axtls_sha1.c [new file with mode: 0644]
src/include/gpxe/sha1.h [new file with mode: 0644]

diff --git a/src/crypto/axtls_sha1.c b/src/crypto/axtls_sha1.c
new file mode 100644 (file)
index 0000000..17c0879
--- /dev/null
@@ -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,
+};
diff --git a/src/include/gpxe/sha1.h b/src/include/gpxe/sha1.h
new file mode 100644 (file)
index 0000000..1425d54
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef _GPXE_SHA1_H
+#define _GPXE_SHA1_H
+
+struct crypto_algorithm;
+
+extern struct crypto_algorithm sha1_algorithm;
+
+#endif /* _GPXE_SHA1_H */