mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-20 02:38:32 +00:00
Initial openssl RSASHA1 implementation (only SHA1 for now).
This commit is contained in:
committed by
Simon Kelley
parent
7e846b9858
commit
9940aba9f6
3
Makefile
3
Makefile
@@ -67,8 +67,9 @@ version = -DVERSION='\"`$(top)/bld/get-version $(top)`\"'
|
|||||||
objs = cache.o rfc1035.o util.o option.o forward.o network.o \
|
objs = cache.o rfc1035.o util.o option.o forward.o network.o \
|
||||||
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
|
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
|
||||||
helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \
|
helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \
|
||||||
|
|
||||||
dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \
|
dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \
|
||||||
domain.o dnssec.o
|
domain.o dnssec.o dnssec-openssl.o
|
||||||
|
|
||||||
hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \
|
hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \
|
||||||
dns-protocol.h radv-protocol.h
|
dns-protocol.h radv-protocol.h
|
||||||
|
|||||||
45
src/dnssec-openssl.c
Normal file
45
src/dnssec-openssl.c
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#include <string.h>
|
||||||
|
#include <openssl/evp.h>
|
||||||
|
|
||||||
|
struct rsasha1_state
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
EVP_MD_CTX hash;
|
||||||
|
unsigned char digest[20];
|
||||||
|
};
|
||||||
|
unsigned char *sig;
|
||||||
|
unsigned siglen;
|
||||||
|
|
||||||
|
} RSASHA1;
|
||||||
|
|
||||||
|
int rsasha1_set_signature(unsigned char *data, unsigned len)
|
||||||
|
{
|
||||||
|
RSASHA1.sig = data;
|
||||||
|
RSASHA1.siglen = len;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void rsasha1_begin_data(void)
|
||||||
|
{
|
||||||
|
EVP_MD_CTX_init(&RSASHA1.hash);
|
||||||
|
EVP_DigestInit_ex(&RSASHA1.hash, EVP_sha1(), NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rsasha1_add_data(void *data, unsigned len)
|
||||||
|
{
|
||||||
|
EVP_DigestUpdate(&RSASHA1.hash, data, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rsasha1_end_data(void)
|
||||||
|
{
|
||||||
|
unsigned char digest[20];
|
||||||
|
EVP_DigestFinal(&RSASHA1.hash, digest, NULL);
|
||||||
|
memcpy(RSASHA1.digest, digest, 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
int rsasha1_verify(unsigned char *key, unsigned key_len)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user