tests: New style fuzzing tool for X.509 certificate parsing

This is a newer version of tests/test-x509 tool.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2019-06-02 13:17:31 +03:00
parent 98612544b1
commit 991ff882fd
3 changed files with 45 additions and 0 deletions

View file

@ -0,0 +1,20 @@
all: x509
include ../rules.include
LIBS += $(SRC)/common/libcommon.a
LIBS += $(SRC)/crypto/libcrypto.a
LIBS += $(SRC)/tls/libtls.a
LIBS += $(SRC)/utils/libutils.a
ELIBS += $(SRC)/crypto/libcrypto.a
ELIBS += $(SRC)/tls/libtls.a
x509: x509.o $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
clean:
$(MAKE) -C $(SRC) clean
$(MAKE) -C $(WPAS_SRC) clean
rm -f x509 *~ *.o *.d ../*~ ../*.o ../*.d
-include $(OBJS:%.o=%.d)

Binary file not shown.

25
tests/fuzzing/x509/x509.c Normal file
View file

@ -0,0 +1,25 @@
/*
* Testing tool for X.509v3 routines
* Copyright (c) 2006-2019, Jouni Malinen <j@w1.fi>
*
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
#include "includes.h"
#include "common.h"
#include "tls/x509v3.h"
#include "../fuzzer-common.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
struct x509_certificate *cert;
wpa_fuzzer_set_debug_level();
cert = x509_certificate_parse(data, size);
x509_certificate_free(cert);
return 0;
}