From 564981a8c807e415ec678f119e7f64b3ca3b05c6 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Tue, 22 Feb 2022 14:38:06 +0100 Subject: [PATCH 01/13] fix 'if' mismatch in security_services::extract_verification_keys --- .gitignore | 13 +++++-- ccsrc/Protocols/Security/security_services.cc | 37 +++++++++++++++++-- 2 files changed, 43 insertions(+), 7 deletions(-) mode change 100755 => 100644 .gitignore diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 index a8e8edc..80adcbd --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ -build -bin -config.mk +build +bin +config.mk +data/certificates/certificates +data/certificates/xer +data/certificates/iut +data/certificates/temp + + + diff --git a/ccsrc/Protocols/Security/security_services.cc b/ccsrc/Protocols/Security/security_services.cc index 876e2f8..48bae15 100644 --- a/ccsrc/Protocols/Security/security_services.cc +++ b/ccsrc/Protocols/Security/security_services.cc @@ -1268,7 +1268,7 @@ int security_services::extract_verification_keys(const Ieee1609Dot2::Certificate p_public_key_x = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP256().uncompressedP256().x(); p_public_key_y = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP256().uncompressedP256().y(); } else { - loggers::get_instance().error("security_services::extract_verification_keys: Unsupported VerificationKey"); + loggers::get_instance().error("security_services::extract_verification_keys: Unsupported ecdsaNistP256 VerificationKey point type %d", p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP256().get_selection()); return -1; } } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ischosen(Ieee1609Dot2BaseTypes::PublicVerificationKey::ALT_ecdsaBrainpoolP256r1)) { @@ -1290,7 +1290,13 @@ int security_services::extract_verification_keys(const Ieee1609Dot2::Certificate Ieee1609Dot2BaseTypes::EccP256CurvePoint::ALT_uncompressedP256)) { p_public_key_x = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP256r1().uncompressedP256().x(); p_public_key_y = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP256r1().uncompressedP256().y(); - } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ischosen(Ieee1609Dot2BaseTypes::PublicVerificationKey::ALT_ecdsaBrainpoolP384r1)) { + } else { + loggers::get_instance().error("security_services::extract_verification_keys: Unsupported ecdsaBrainpoolP256r1 VerificationKey point type %d", p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP256r1().get_selection()); + return -1; + } + } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ischosen(Ieee1609Dot2BaseTypes::PublicVerificationKey::ALT_ecdsaBrainpoolP384r1)) { + if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP384r1().ischosen( + Ieee1609Dot2BaseTypes::EccP384CurvePoint::ALT_compressed__y__0)) { p_public_comp_key = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP384r1().compressed__y__0(); security_ecc ecc(ec_elliptic_curves::brainpool_p_384_r1, p_public_comp_key, ecc_compressed_mode::compressed_y_0); p_public_key_x = ecc.public_key_x(); @@ -1308,11 +1314,34 @@ int security_services::extract_verification_keys(const Ieee1609Dot2::Certificate p_public_key_x = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP384r1().uncompressedP384().x(); p_public_key_y = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP384r1().uncompressedP384().y(); } else { - loggers::get_instance().error("security_services::extract_verification_keys: Unsupported VerificationKey"); + loggers::get_instance().error("security_services::extract_verification_keys: Unsupported ecdsaBrainpoolP384r1 VerificationKey point type %d", p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaBrainpoolP384r1().get_selection()); + return -1; + } + } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ischosen(Ieee1609Dot2BaseTypes::PublicVerificationKey::ALT_ecdsaNistP384)) { + if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().ischosen( + Ieee1609Dot2BaseTypes::EccP384CurvePoint::ALT_compressed__y__0)) { + p_public_comp_key = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().compressed__y__0(); + security_ecc ecc(ec_elliptic_curves::nist_p_384, p_public_comp_key, ecc_compressed_mode::compressed_y_0); + p_public_key_x = ecc.public_key_x(); + p_public_key_y = ecc.public_key_y(); + p_public_comp_key_mode = INTEGER(0); + } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().ischosen( + Ieee1609Dot2BaseTypes::EccP384CurvePoint::ALT_compressed__y__1)) { + p_public_comp_key = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().compressed__y__1(); + security_ecc ecc(ec_elliptic_curves::nist_p_384, p_public_comp_key, ecc_compressed_mode::compressed_y_1); + p_public_key_x = ecc.public_key_x(); + p_public_key_y = ecc.public_key_y(); + p_public_comp_key_mode = INTEGER(1); + } else if (p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().ischosen( + Ieee1609Dot2BaseTypes::EccP384CurvePoint::ALT_uncompressedP384)) { + p_public_key_x = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().uncompressedP384().x(); + p_public_key_y = p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().uncompressedP384().y(); + } else { + loggers::get_instance().error("security_services::extract_verification_keys: Unsupported ecdsaNistP384 VerificationKey point type %d", p_cert.toBeSigned().verifyKeyIndicator().verificationKey().ecdsaNistP384().get_selection()); return -1; } } else { - loggers::get_instance().error("security_services::extract_verification_keys: Unsupported VerificationKey"); + loggers::get_instance().error("security_services::extract_verification_keys: Unsupported VerificationKey curve %d", p_cert.toBeSigned().verifyKeyIndicator().verificationKey().get_selection()); return -1; } -- GitLab From 4068611ac8db2de71aa179fa643f84781df84c47 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Wed, 23 Feb 2022 20:56:01 +0100 Subject: [PATCH 02/13] Add FA and FA3 certificate profiles --- Makefile | 300 +++++++++--------- data/certificates/Makefile | 118 ++++--- data/certificates/profiles/CERT_TS_FA3_AA.xml | 44 +++ data/certificates/profiles/CERT_TS_FA3_AT.xml | 36 +++ data/certificates/profiles/CERT_TS_FA_AA.xml | 44 +++ data/certificates/profiles/CERT_TS_FA_AT.xml | 36 +++ 6 files changed, 380 insertions(+), 198 deletions(-) create mode 100644 data/certificates/profiles/CERT_TS_FA3_AA.xml create mode 100644 data/certificates/profiles/CERT_TS_FA3_AT.xml create mode 100644 data/certificates/profiles/CERT_TS_FA_AA.xml create mode 100644 data/certificates/profiles/CERT_TS_FA_AT.xml diff --git a/Makefile b/Makefile index a771918..97cfa11 100644 --- a/Makefile +++ b/Makefile @@ -1,150 +1,150 @@ --include config.mk - -ifeq (,$(ATS)) - $(error ATS shall be defined) -endif - -ifeq (,$(TOPDIR)) - TOPDIR := . -endif - -ifeq (,$(TTCN3_DIR)) - $(error TTCN3_DIR shall be defined in config.mk) -endif - -export ASN1C_PATH - -first: all - -define IncludeModule -undefine sources -undefine modules -undefine includes -include $(1)/module.mk -$$(foreach S, $$(sources), $$(eval all_sources += $$(if $$(filter /%, $$(S)), $$(TOPDIR)/$$(S), $(1)/$$(S)))) -$$(foreach I, $$(includes), $$(eval all_includes += $$(if $$(filter /%, $$(I)), $$(TOPDIR)/$$(I), $(1)/$$(I)))) -$$(foreach M, $$(modules), $$(eval $$(call IncludeModule, $$(if $$(filter /%, $$(M)), $$(TOPDIR)/$$(M), $(1)/$$(M))))) -endef - -all_includes := $(TTCN3_DIR)/include $(TTCN3_DIR)/src $(TOPDIR)/ccsrc/Framework /usr/include/jsoncpp -defines += TITAN_RUNTIME_2 _NO_SOFTLINKS_ $(ATS) -libs += $(TTCN3_DIR)/lib/libttcn3-rt2-parallel.a -lstdc++fs - -ifeq (Windows_NT,$(OS)) -# Silence linker warnings. -LDFLAGS += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc -defines += WIN32 -libs += $(patsubst %, -L%/lib, $(OPENSSL_DIR)) -all_includes += $(addsuffix /include, $(OPENSSL_DIR)) -libs += $(WPCAP_DLL_PATH) -else -defines += LINUX -libs += -lpcap -lrt -lpthread -endif - -libs += -lssl -lcrypto -lxml2 -ljsoncpp - -$(eval $(call IncludeModule, $(TOPDIR)/ttcn/$(ATS))) - -outdir := $(TOPDIR)/build/$(ATS) -bindir := $(TOPDIR)/bin - -sources := $(sort $(all_sources)) -includes := $(outdir) $(outdir)/.. $(outdir)/../asn1 $(all_includes) $(NPCAP_INCLUDE) - -ifeq (Windows_NT,$(OS)) - EXE=.exe -endif - -ttcn_sources := $(filter %.ttcn , $(sources)) -ttcn3_sources := $(filter %.ttcn3, $(sources)) -asn_sources := $(filter %.asn, $(sources)) -asn1_sources := $(filter %.asn1, $(sources)) - -tt_sources := $(ttcn_sources) $(ttcn3_sources) $(asn_sources) $(asn1_sources) -cc_sources := $(filter %.cc, $(sources)) - -gen_ttcn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.cc, $(ttcn_sources)))) -gen_ttcn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.hh, $(ttcn_sources)))) -gen_ttcn3_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.cc, $(ttcn3_sources)))) -gen_ttcn3_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.hh, $(ttcn3_sources)))) -gen_asn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.cc, $(asn_sources)))) -gen_asn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.hh, $(asn_sources)))) -gen_asn1_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.cc, $(asn1_sources)))) -gen_asn1_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.hh, $(asn1_sources)))) - -gen_sources := $(gen_ttcn_sources) $(gen_ttcn3_sources) $(gen_asn_sources) $(gen_asn1_sources) -gen_headers := $(gen_ttcn_headers) $(gen_ttcn3_headers) $(gen_asn_headers) $(gen_asn1_headers) - -gen_objects := $(patsubst %.cc, %.o, $(gen_sources)) -cc_objects := $(patsubst %.cc, $(outdir)/%.o, $(cc_sources)) - -.PHONY: all FORCE echo - -all: $(bindir) $(outdir) $(bindir)/$(ATS)$(EXE) - -echo_sources: - @echo -e "$(addsuffix \n,$(all_sources))" - -echo: echo_sources - @echo -e "sources:\n $(addsuffix \n, $(sources))" - @echo -e "gen_sources:\n $(addsuffix \n, $(gen_sources))" - @echo -e "gen_objects:\n $(addsuffix \n, $(gen_objects))" - @echo -e "cc_objects:\n $(addsuffix \n, $(cc_objects))" - @echo -e "includes:\n $(addsuffix \n, $(includes))" - @echo -e "defines: $(addsuffix \n, $(defines))" - -clean: - rm -f $(outdir)/$(ATS)$(EXE) $(gen_objects) $(gen_sources) $(gen_headers) $(cc_objects) $(outdir)/.generate $(outdir)/../libItsAsn.so -# rm -f $(outdir)/asn1/*.so $(outdir)/asn1/*.o $(outdir)/asn1/*.c $(outdir)/asn1/*.h $(outdir)/asn1/Makefile.am.libasncodec - -regen: force_regen $(outdir)/.generate -force_regen: - rm -f $(outdir)/.generate - -t3q: all - @echo -e "Code checking in progress..." - @java -Xmx3g -Xss512m -jar $(T3Q_PATH)/t3q.jar --config $(T3Q_PATH)/$(T3Q_CONFIG) $(tt_sources) > $(outdir)/t3q.out 2>&1 ; cd - - @echo -e "Code checking in done..." - @echo -e "Output file is located here: $(outdir)/t3q.out" - -t3d: all - @echo -e "TTCN-3 doc generation in progress..." - @java -Xmx3g -Xss512m -jar $(T3D_PATH)/t3d.jar --config $(T3D_PATH)/$(T3D_CONFIG) $(tt_sources) > $(outdir)/t3d.out 2>&1 ; cd - - @echo -e "TTCN-3 doc generation done..." - @echo -e "Output file is located here: $(outdir)/t3d.out" - -$(outdir) $(bindir): - mkdir -p $@ - -$(bindir)/$(ATS)$(EXE): $(outdir)/../asn1/libItsAsn.a $(gen_objects) $(cc_objects) - g++ -g -O0 -o $@ $(LDFLAGS) $(gen_objects) $(cc_objects) $(outdir)/../asn1/libItsAsn.a $(libs) - -$(gen_objects) :%.o :%.cc - g++ -g -O0 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< - -$(cc_objects) : $(outdir)/%.o : %.cc - mkdir -p $(dir $@) - g++ -g -O0 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< - -#$(gen_sources): -# $(TTCN3_DIR)/bin/compiler -n -e -L -R -U none -o $(outdir) $(tt_sources) - -$(gen_sources): $(outdir)/.generate - -$(outdir)/.generate: Makefile $(tt_sources) - $(TTCN3_DIR)/bin/compiler -w -d -e -f -g -l -L -R -U none -x -X -o $(outdir) $(tt_sources) - touch $@ - -$(bindir)/libItsAsn.so: $(outdir)/asn1/libItsAsn.so - cp -f $< $@ - -$(outdir)/../asn1/libItsAsn.a: FORCE - mkdir -p $(outdir)/../asn1 - $(MAKE) -C $(outdir)/../asn1 -f ../../asn1/Makefile - -$(foreach S, $(ttcn_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn, %.cc, $(S))): $(S))) -$(foreach S, $(ttcn3_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn3, %.cc, $(S))): $(S))) -$(foreach S, $(asn_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn, %.cc, $(S))): $(S))) -$(foreach S, $(asn1_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn1, %.cc, $(S))): $(S))) - +-include config.mk + +ifeq (,$(ATS)) + $(error ATS shall be defined) +endif + +ifeq (,$(TOPDIR)) + TOPDIR := . +endif + +ifeq (,$(TTCN3_DIR)) + $(error TTCN3_DIR shall be defined in config.mk) +endif + +export ASN1C_PATH + +first: all + +define IncludeModule +undefine sources +undefine modules +undefine includes +include $(1)/module.mk +$$(foreach S, $$(sources), $$(eval all_sources += $$(if $$(filter /%, $$(S)), $$(TOPDIR)/$$(S), $(1)/$$(S)))) +$$(foreach I, $$(includes), $$(eval all_includes += $$(if $$(filter /%, $$(I)), $$(TOPDIR)/$$(I), $(1)/$$(I)))) +$$(foreach M, $$(modules), $$(eval $$(call IncludeModule, $$(if $$(filter /%, $$(M)), $$(TOPDIR)/$$(M), $(1)/$$(M))))) +endef + +all_includes := $(TTCN3_DIR)/include $(TTCN3_DIR)/src $(TOPDIR)/ccsrc/Framework /usr/include/jsoncpp +defines += TITAN_RUNTIME_2 _NO_SOFTLINKS_ $(ATS) +libs += $(TTCN3_DIR)/lib/libttcn3-rt2-parallel.a -lstdc++fs + +ifeq (Windows_NT,$(OS)) +# Silence linker warnings. +LDFLAGS += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc +defines += WIN32 +libs += $(patsubst %, -L%/lib, $(OPENSSL_DIR)) +all_includes += $(addsuffix /include, $(OPENSSL_DIR)) +libs += $(WPCAP_DLL_PATH) +else +defines += LINUX +libs += -lpcap -lrt -lpthread +endif + +libs += -lssl -lcrypto -lxml2 -ljsoncpp + +$(eval $(call IncludeModule, $(TOPDIR)/ttcn/$(ATS))) + +outdir := $(TOPDIR)/build/$(ATS) +bindir := $(TOPDIR)/bin + +sources := $(sort $(all_sources)) +includes := $(outdir) $(outdir)/.. $(outdir)/../asn1 $(all_includes) $(NPCAP_INCLUDE) + +ifeq (Windows_NT,$(OS)) + EXE=.exe +endif + +ttcn_sources := $(filter %.ttcn , $(sources)) +ttcn3_sources := $(filter %.ttcn3, $(sources)) +asn_sources := $(filter %.asn, $(sources)) +asn1_sources := $(filter %.asn1, $(sources)) + +tt_sources := $(ttcn_sources) $(ttcn3_sources) $(asn_sources) $(asn1_sources) +cc_sources := $(filter %.cc, $(sources)) + +gen_ttcn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.cc, $(ttcn_sources)))) +gen_ttcn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.hh, $(ttcn_sources)))) +gen_ttcn3_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.cc, $(ttcn3_sources)))) +gen_ttcn3_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.hh, $(ttcn3_sources)))) +gen_asn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.cc, $(asn_sources)))) +gen_asn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.hh, $(asn_sources)))) +gen_asn1_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.cc, $(asn1_sources)))) +gen_asn1_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.hh, $(asn1_sources)))) + +gen_sources := $(gen_ttcn_sources) $(gen_ttcn3_sources) $(gen_asn_sources) $(gen_asn1_sources) +gen_headers := $(gen_ttcn_headers) $(gen_ttcn3_headers) $(gen_asn_headers) $(gen_asn1_headers) + +gen_objects := $(patsubst %.cc, %.o, $(gen_sources)) +cc_objects := $(patsubst %.cc, $(outdir)/%.o, $(cc_sources)) + +.PHONY: all FORCE echo + +all: $(bindir) $(outdir) $(bindir)/$(ATS)$(EXE) + +echo_sources: + @echo -e "$(addsuffix \n,$(all_sources))" + +echo: echo_sources + @echo -e "sources:\n $(addsuffix \n, $(sources))" + @echo -e "gen_sources:\n $(addsuffix \n, $(gen_sources))" + @echo -e "gen_objects:\n $(addsuffix \n, $(gen_objects))" + @echo -e "cc_objects:\n $(addsuffix \n, $(cc_objects))" + @echo -e "includes:\n $(addsuffix \n, $(includes))" + @echo -e "defines: $(addsuffix \n, $(defines))" + +clean: + rm -f $(outdir)/$(ATS)$(EXE) $(gen_objects) $(gen_sources) $(gen_headers) $(cc_objects) $(outdir)/.generate $(outdir)/../libItsAsn.so +# rm -f $(outdir)/asn1/*.so $(outdir)/asn1/*.o $(outdir)/asn1/*.c $(outdir)/asn1/*.h $(outdir)/asn1/Makefile.am.libasncodec + +regen: force_regen $(outdir)/.generate +force_regen: + rm -f $(outdir)/.generate + +t3q: all + @echo -e "Code checking in progress..." + @java -Xmx3g -Xss512m -jar $(T3Q_PATH)/t3q.jar --config $(T3Q_PATH)/$(T3Q_CONFIG) $(tt_sources) > $(outdir)/t3q.out 2>&1 ; cd - + @echo -e "Code checking in done..." + @echo -e "Output file is located here: $(outdir)/t3q.out" + +t3d: all + @echo -e "TTCN-3 doc generation in progress..." + @java -Xmx3g -Xss512m -jar $(T3D_PATH)/t3d.jar --config $(T3D_PATH)/$(T3D_CONFIG) $(tt_sources) > $(outdir)/t3d.out 2>&1 ; cd - + @echo -e "TTCN-3 doc generation done..." + @echo -e "Output file is located here: $(outdir)/t3d.out" + +$(outdir) $(bindir): + mkdir -p $@ + +$(bindir)/$(ATS)$(EXE): $(outdir)/../asn1/libItsAsn.a $(gen_objects) $(cc_objects) + g++ -g -O0 -o $@ $(LDFLAGS) $(gen_objects) $(cc_objects) $(outdir)/../asn1/libItsAsn.a $(libs) + +$(gen_objects) :%.o :%.cc + g++ -g -O0 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< + +$(cc_objects) : $(outdir)/%.o : %.cc + mkdir -p $(dir $@) + g++ -g -O0 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< + +#$(gen_sources): +# $(TTCN3_DIR)/bin/compiler -n -e -L -R -U none -o $(outdir) $(tt_sources) + +$(gen_sources): $(outdir)/.generate + +$(outdir)/.generate: Makefile $(tt_sources) + $(TTCN3_DIR)/bin/compiler -w -d -e -f -g -l -L -R -U none -x -X -o $(outdir) $(tt_sources) + touch $@ + +$(bindir)/libItsAsn.so: $(outdir)/asn1/libItsAsn.so + cp -f $< $@ + +$(outdir)/../asn1/libItsAsn.a: FORCE + mkdir -p $(outdir)/../asn1 + $(MAKE) -C $(outdir)/../asn1 -f ../../asn1/Makefile + +$(foreach S, $(ttcn_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn, %.cc, $(S))): $(S))) +$(foreach S, $(ttcn3_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn3, %.cc, $(S))): $(S))) +$(foreach S, $(asn_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn, %.cc, $(S))): $(S))) +$(foreach S, $(asn1_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn1, %.cc, $(S))): $(S))) + diff --git a/data/certificates/Makefile b/data/certificates/Makefile index 4858194..1d6e7a8 100644 --- a/data/certificates/Makefile +++ b/data/certificates/Makefile @@ -1,48 +1,70 @@ -ifeq ($(ARCH),) - ARCH = $(shell gcc -dumpmachine) -else - ifeq ($(OS),Windows_NT) - ARCH=msvc - endif -endif - -outdir=certificates -in=profiles -xerdir=xer -depdir=temp -keydir=certificates - -ifeq ($(ARCH),msvc) - asn1certgen= ../../../itscertgen/build/msvc/x64/Debug/certgen.exe -else - asn1certgen=../../../itscertgen/build/$(ARCH)-d/certgen -endif - -xsl_cvt=../../../itscertgen/certgen/asn1certgen.xslt -xsl_dep=../../../itscertgen/certgen/prof2dep.xsl - -profiles=$(wildcard $(in)/*.xml) -certificates_oer=$(patsubst $(in)/%.xml, $(outdir)/%.oer, $(profiles)) -certificates_xer=$(patsubst $(in)/%.xml, $(xerdir)/%.xer, $(profiles)) -deps=$(patsubst $(in)/%.xml, $(depdir)/%.dep, $(profiles)) - -all: $(sort $(outdir) $(xerdir) $(depdir)) $(certificates_oer) - -$(sort $(outdir) $(xerdir) $(depdir)): - mkdir -p $@ -clean: - rm -f $(certificates_oer) $(certificates_xer) - -$(certificates_xer): $(xerdir)/%.xer : $(in)/%.xml - xsltproc $(xsl_cvt) $< | xmllint --format -o $@ - - -$(certificates_oer): $(outdir)/%.oer : $(xerdir)/%.xer - $(asn1certgen) -o $(outdir) -K $(keydir) $< - -$(deps): $(depdir)/%.dep : $(in)/%.xml - -mkdir -p $(depdir) - xsltproc --param profile "'$*'" -o $@ $(xsl_dep) $< - -$(certificates_xer) : $(xsl_cvt) - -include $(deps) +ifeq ($(ARCH),) + ARCH = $(shell gcc -dumpmachine) +else + ifeq ($(OS),Windows_NT) + ARCH=msvc + endif +endif + +ifeq (,$(CERTGEN)) + $(error CERTGEN variable shall point to the certgen project) +endif + +outdir=certificates +in=profiles +xerdir=xer +depdir=temp +keydir=certificates +iutdir=iut + +ifeq ($(ARCH),msvc) + asn1certgen= $(CERTGEN)/build/msvc/x64/Debug/certgen.exe +else + asn1certgen=$(CERTGEN)/build/$(ARCH)-d/certgen +endif + +xsl_cvt=$(CERTGEN)/itscertgen/certgen/asn1certgen.xslt +xsl_dep=$(CERTGEN)/itscertgen/certgen/prof2dep.xsl + +profiles=$(wildcard $(in)/*.xml) +certificates_oer=$(patsubst $(in)/%.xml, $(outdir)/%.oer, $(profiles)) +certificates_xer=$(patsubst $(in)/%.xml, $(xerdir)/%.xer, $(profiles)) +deps=$(patsubst $(in)/%.xml, $(depdir)/%.dep, $(profiles)) + +all: $(sort $(outdir) $(xerdir) $(depdir)) $(certificates_oer) + +$(sort $(outdir) $(xerdir) $(depdir) $(iutdir)): + mkdir -p $@ +clean: + rm -f $(certificates_oer) $(certificates_xer) + +$(certificates_xer): $(xerdir)/%.xer : $(in)/%.xml + xsltproc $(xsl_cvt) $< | xmllint --format -o $@ - + +$(certificates_oer): $(outdir)/%.oer : $(xerdir)/%.xer + $(asn1certgen) -o $(outdir) -K $(keydir) $< + +$(deps): $(depdir)/%.dep : $(in)/%.xml + -mkdir -p $(depdir) + xsltproc --param profile "'$*'" -o $@ $(xsl_dep) $< + +$(certificates_xer) : $(xsl_cvt) + +certs_iut_at = $(filter $(outdir)/CERT_IUT_%_AT.oer, $(certificates_oer)) +vkeys_iut_at = $(patsubst %.oer, %.vkey, $(certs_iut_at)) +ekeys_iut_at = $(patsubst %.oer, %.ekey, $(certs_iut_at)) + +certs_iut := $(filter $(outdir)/CERT_IUT_%_RCA.oer, $(certificates_oer)) +certs_iut += $(filter $(outdir)/CERT_IUT_%_AA.oer, $(certificates_oer)) +certs_iut += $(certs_iut_at) + +iut_files = $(patsubst $(outdir)/%, $(iutdir)/%, $(certs_iut) $(vkeys_iut_at) $(ekeys_iut_at)) + +install: $(iutdir) $(iut_files) + +$(iut_files): $(iutdir)/%: $(outdir)/% + -cp -f $@ $< + +$(vkeys_iut_at) $(ekeys_iut_at): + +include $(deps) diff --git a/data/certificates/profiles/CERT_TS_FA3_AA.xml b/data/certificates/profiles/CERT_TS_FA3_AA.xml new file mode 100644 index 0000000..deb8ec6 --- /dev/null +++ b/data/certificates/profiles/CERT_TS_FA3_AA.xml @@ -0,0 +1,44 @@ + + + 3 + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + 01 32 + + + + + + + + + + diff --git a/data/certificates/profiles/CERT_TS_FA3_AT.xml b/data/certificates/profiles/CERT_TS_FA3_AT.xml new file mode 100644 index 0000000..8253bbd --- /dev/null +++ b/data/certificates/profiles/CERT_TS_FA3_AT.xml @@ -0,0 +1,36 @@ + + + 3 + + + + + + + + + + + + > + + + + + + + + + 01 FF FC + 01 FF FF FF + + + + + + + + + + + diff --git a/data/certificates/profiles/CERT_TS_FA_AA.xml b/data/certificates/profiles/CERT_TS_FA_AA.xml new file mode 100644 index 0000000..cb1e4a6 --- /dev/null +++ b/data/certificates/profiles/CERT_TS_FA_AA.xml @@ -0,0 +1,44 @@ + + + 3 + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + 01 32 + + + + + + + + + + diff --git a/data/certificates/profiles/CERT_TS_FA_AT.xml b/data/certificates/profiles/CERT_TS_FA_AT.xml new file mode 100644 index 0000000..1019947 --- /dev/null +++ b/data/certificates/profiles/CERT_TS_FA_AT.xml @@ -0,0 +1,36 @@ + + + 3 + + + + + + + + + + + + > + + + + + + + + + 01 FF FC + 01 FF FF FF + + + + + + + + + + + -- GitLab From 67a6fc7376ef02f87a2016e65a8443dd30d9b26a Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Wed, 23 Feb 2022 21:00:39 +0100 Subject: [PATCH 03/13] do not assert on requestedCertificate reception --- ccsrc/Protocols/Security/security_services.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccsrc/Protocols/Security/security_services.cc b/ccsrc/Protocols/Security/security_services.cc index 48bae15..4137b15 100644 --- a/ccsrc/Protocols/Security/security_services.cc +++ b/ccsrc/Protocols/Security/security_services.cc @@ -219,7 +219,7 @@ int security_services::process_ieee_1609_dot2_signed_data(const Ieee1609Dot2::Si // Check requested certificate if (header_info.requestedCertificate().is_present()) { - loggers::get_instance().error("security_services::process_ieee_1609_dot2_signed_data: requestedCertificate not supported yet"); + // loggers::get_instance().error("security_services::process_ieee_1609_dot2_signed_data: requestedCertificate not supported yet"); // TODO Not supported by C-ITS Protocol } -- GitLab From 47ec69c4dfb4fe30ea12ac20f658e72ebdcb4e95 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Wed, 23 Feb 2022 21:11:19 +0100 Subject: [PATCH 04/13] Use new commits in AtsSecurity --- ttcn/AtsSecurity | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ttcn/AtsSecurity b/ttcn/AtsSecurity index ac50713..56ee2c5 160000 --- a/ttcn/AtsSecurity +++ b/ttcn/AtsSecurity @@ -1 +1 @@ -Subproject commit ac5071354fd23fa0f1ce59ded50dd894dda2e58b +Subproject commit 56ee2c55d7581cf0bb09b6b4fc94e3b68bac1933 -- GitLab From e292ea882ce3fe101928ea2f2f559c5757351cae Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Thu, 24 Feb 2022 18:06:21 +0100 Subject: [PATCH 05/13] use warnings instead of errors in general sec message processing in adapter --- ccsrc/Protocols/Security/security_services.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ccsrc/Protocols/Security/security_services.cc b/ccsrc/Protocols/Security/security_services.cc index 4137b15..59aae19 100644 --- a/ccsrc/Protocols/Security/security_services.cc +++ b/ccsrc/Protocols/Security/security_services.cc @@ -189,19 +189,19 @@ int security_services::process_ieee_1609_dot2_signed_data(const Ieee1609Dot2::Si // Check p2pcdLearningRequest keys if present if (header_info.p2pcdLearningRequest().is_present()) { - loggers::get_instance().error("security_services::process_ieee_1609_dot2_signed_data: p2pcdLearningRequest not supported yet"); + loggers::get_instance().warning("security_services::process_ieee_1609_dot2_signed_data: p2pcdLearningRequest not supported yet"); // TODO Not supported by C-ITS Protocol } // Check missingCrlIdentifier keys if present if (header_info.missingCrlIdentifier().is_present()) { - loggers::get_instance().error("security_services::process_ieee_1609_dot2_signed_data: missingCrlIdentifier not supported yet"); + loggers::get_instance().warning("security_services::process_ieee_1609_dot2_signed_data: missingCrlIdentifier not supported yet"); // TODO Not supported by C-ITS Protocol } // Check encryption keys if present if (header_info.encryptionKey().is_present()) { - loggers::get_instance().error("security_services::process_ieee_1609_dot2_signed_data: encryptionKey not supported yet"); + loggers::get_instance().warning("security_services::process_ieee_1609_dot2_signed_data: encryptionKey not supported yet"); // TODO Not supported by C-ITS Protocol } -- GitLab From 4a15be9caf21be07c92629d774c6b2c1625da2c2 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Thu, 24 Feb 2022 18:08:10 +0100 Subject: [PATCH 06/13] update AtsSecurity (TC-14) --- ttcn/AtsSecurity | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ttcn/AtsSecurity b/ttcn/AtsSecurity index 56ee2c5..89984da 160000 --- a/ttcn/AtsSecurity +++ b/ttcn/AtsSecurity @@ -1 +1 @@ -Subproject commit 56ee2c55d7581cf0bb09b6b4fc94e3b68bac1933 +Subproject commit 89984da49953b00040777bdc69812ffa2447d12e -- GitLab From 9250b223a8845819c30ffbd50a501ea4211edc1e Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Fri, 25 Feb 2022 22:19:32 +0100 Subject: [PATCH 07/13] Security TC01-TC22 --- ttcn/AtsSecurity | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ttcn/AtsSecurity b/ttcn/AtsSecurity index 89984da..64608ae 160000 --- a/ttcn/AtsSecurity +++ b/ttcn/AtsSecurity @@ -1 +1 @@ -Subproject commit 89984da49953b00040777bdc69812ffa2447d12e +Subproject commit 64608aea464a82d668d242be3d54ed8e58bd075f -- GitLab From 68a227663738568d8a45d4a321132dc24f41ddd9 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Mon, 28 Feb 2022 11:16:49 +0100 Subject: [PATCH 08/13] fix CERT_IUT_C1_AT.xml --- data/certificates/Makefile | 20 ++++++++++++++++++- data/certificates/profiles/CERT_IUT_C1_AT.xml | 2 ++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/data/certificates/Makefile b/data/certificates/Makefile index 1d6e7a8..b85d5ed 100644 --- a/data/certificates/Makefile +++ b/data/certificates/Makefile @@ -63,8 +63,26 @@ iut_files = $(patsubst $(outdir)/%, $(iutdir)/%, $(certs_iut) $(vkeys_iut_at) $( install: $(iutdir) $(iut_files) $(iut_files): $(iutdir)/%: $(outdir)/% - -cp -f $@ $< + -cp -f $< $@ $(vkeys_iut_at) $(ekeys_iut_at): +IUT_TC23 = CERT_IUT_C1_AT.oer CERT_IUT_C1_AT.vkey CERT_IUT_C1_AT.ekey CERT_IUT_CC_AA.oer CERT_IUT_C_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer +IUT_TC24 = CERT_IUT_CA3_AT.oer CERT_IUT_CA3_AT.vkey CERT_IUT_CA3_AT.ekey CERT_IUT_C3_AA.oer CERT_IUT_C_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer +IUT_TC25 = CERT_IUT_A1_AT.oer CERT_IUT_A1_AT.vkey CERT_IUT_A1_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer +IUT_TC26 = CERT_IUT_A2_AT.oer CERT_IUT_A2_AT.vkey CERT_IUT_A2_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer +IUT_TC27 = CERT_IUT_A3_AT.oer CERT_IUT_A3_AT.vkey CERT_IUT_A3_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer +IUT_TC28 = CERT_IUT_A_AT_A8.oer CERT_IUT_A_AT_A8.vkey CERT_IUT_A_AT_A8.ekey CERT_IUT_A_AA_A8.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer + +IUT_TCS = TC23 TC24 TC25 TC26 TC27 TC28 + +define InstallTC +$(addprefix $(TC)/,$(IUT_$(TC))): $(TC)/% : $$(outdir)/% + mkdir -p $(TC) + -cp -f $$< $$@ +endef +$(foreach TC, $(IUT_TCS), $(eval $(InstallTC))) + +install_tc: $(foreach TC, $(IUT_TCS), $(addprefix $(TC)/, $(IUT_$(TC)))) + include $(deps) diff --git a/data/certificates/profiles/CERT_IUT_C1_AT.xml b/data/certificates/profiles/CERT_IUT_C1_AT.xml index b568a19..05061fa 100644 --- a/data/certificates/profiles/CERT_IUT_C1_AT.xml +++ b/data/certificates/profiles/CERT_IUT_C1_AT.xml @@ -27,10 +27,12 @@ + + -- GitLab From 31dbfbe8aa0f980f463552c4f6d982e9ac092803 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Fri, 4 Mar 2022 18:40:44 +0100 Subject: [PATCH 09/13] Add certificates for AA region test cases --- data/certificates/profiles/CERT_IUT_C2_AA.xml | 46 +++++++++++++++++++ data/certificates/profiles/CERT_IUT_C2_AT.xml | 35 ++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 data/certificates/profiles/CERT_IUT_C2_AA.xml create mode 100644 data/certificates/profiles/CERT_IUT_C2_AT.xml diff --git a/data/certificates/profiles/CERT_IUT_C2_AA.xml b/data/certificates/profiles/CERT_IUT_C2_AA.xml new file mode 100644 index 0000000..5a08a55 --- /dev/null +++ b/data/certificates/profiles/CERT_IUT_C2_AA.xml @@ -0,0 +1,46 @@ + + 3 + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + 01 32 + + + + + + + + + + + + + diff --git a/data/certificates/profiles/CERT_IUT_C2_AT.xml b/data/certificates/profiles/CERT_IUT_C2_AT.xml new file mode 100644 index 0000000..875e120 --- /dev/null +++ b/data/certificates/profiles/CERT_IUT_C2_AT.xml @@ -0,0 +1,35 @@ + + 3 + + + + + + + + + + + + > + + + + + + + + + 01 FF FC + 01 FF FF FF + + + + + + + + + + + -- GitLab From 77468498f120b7e15e4a5565b90124d3b42ebbbf Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Fri, 4 Mar 2022 18:43:22 +0100 Subject: [PATCH 10/13] Certificate generation rules --- .gitignore | 10 +++------- config.mk | 4 ++-- ttcn/AtsSecurity | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 80adcbd..b026989 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,6 @@ build bin config.mk -data/certificates/certificates -data/certificates/xer -data/certificates/iut -data/certificates/temp - - - +data/certificates/* +!data/certificates/profiles +!data/certificates/Makefile diff --git a/config.mk b/config.mk index a53d762..d6cfe15 100644 --- a/config.mk +++ b/config.mk @@ -1,5 +1,5 @@ -#TTCN3_DIR := /cygdrive/c/Tools/Titan -ASN1C_PATH := /home/yann/frameworks/asn1c.denis +#TTCN3_DIR := /cygdrive/c/Tools/Titan +#ASN1C_PATH := /home/yann/frameworks/asn1c.denis #WPCAP_DLL_PATH := /cygdrive/c/windows/system32/npcap/wpcap.dll #NPCAP_INCLUDE := /cygdrive/c/PROGRA~1/Npcap/sdk/include #T3Q_PATH=./tools/t3q-v2.0.0b30 diff --git a/ttcn/AtsSecurity b/ttcn/AtsSecurity index 64608ae..84ba216 160000 --- a/ttcn/AtsSecurity +++ b/ttcn/AtsSecurity @@ -1 +1 @@ -Subproject commit 64608aea464a82d668d242be3d54ed8e58bd075f +Subproject commit 84ba2164d26a0c8f744efaf89db3f715de9484ac -- GitLab From 8c135c9a70b63cb1d9e8d8b8324c63883053fbc1 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Fri, 4 Mar 2022 18:45:13 +0100 Subject: [PATCH 11/13] certificate generation rules --- data/certificates/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/certificates/Makefile b/data/certificates/Makefile index b85d5ed..c5745c0 100644 --- a/data/certificates/Makefile +++ b/data/certificates/Makefile @@ -68,7 +68,7 @@ $(iut_files): $(iutdir)/%: $(outdir)/% $(vkeys_iut_at) $(ekeys_iut_at): IUT_TC23 = CERT_IUT_C1_AT.oer CERT_IUT_C1_AT.vkey CERT_IUT_C1_AT.ekey CERT_IUT_CC_AA.oer CERT_IUT_C_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer -IUT_TC24 = CERT_IUT_CA3_AT.oer CERT_IUT_CA3_AT.vkey CERT_IUT_CA3_AT.ekey CERT_IUT_C3_AA.oer CERT_IUT_C_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer +IUT_TC24 = CERT_IUT_C2_AT.oer CERT_IUT_C2_AT.vkey CERT_IUT_C2_AT.ekey CERT_IUT_C2_AA.oer CERT_IUT_C_RCA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer CERT_IUT_A_AA.oer IUT_TC25 = CERT_IUT_A1_AT.oer CERT_IUT_A1_AT.vkey CERT_IUT_A1_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer IUT_TC26 = CERT_IUT_A2_AT.oer CERT_IUT_A2_AT.vkey CERT_IUT_A2_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer IUT_TC27 = CERT_IUT_A3_AT.oer CERT_IUT_A3_AT.vkey CERT_IUT_A3_AT.ekey CERT_IUT_A_AA.oer CERT_IUT_A_RCA.oer CERT_TS_A_AT.oer -- GitLab From f33134339d2176fc5b74a02af4e6a200021e41f6 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Mon, 21 Mar 2022 17:49:36 +0100 Subject: [PATCH 12/13] fix CERT_REQ eeType --- data/certificates/profiles/CERT_TS_A_EA.xml | 4 +++- .../profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_01.xml | 4 +++- .../profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_02.xml | 4 +++- .../profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_03.xml | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/data/certificates/profiles/CERT_TS_A_EA.xml b/data/certificates/profiles/CERT_TS_A_EA.xml index 5a781e8..a284655 100644 --- a/data/certificates/profiles/CERT_TS_A_EA.xml +++ b/data/certificates/profiles/CERT_TS_A_EA.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,8 @@ + + 01 C0 diff --git a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_01.xml b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_01.xml index 802585d..7e215b5 100644 --- a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_01.xml +++ b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_01.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,8 @@ + + 01 C0 diff --git a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_02.xml b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_02.xml index 5a71c29..612b69a 100644 --- a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_02.xml +++ b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_02.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,8 @@ + + 01 C0 diff --git a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_03.xml b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_03.xml index a165dd0..78e89b7 100644 --- a/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_03.xml +++ b/data/certificates/profiles/CERT_TS_A_EA_AA_AUTHVAL_RCV_02_BI_03.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,8 @@ + + 01 40 -- GitLab From 048d29e5ce0955daa61b816ca71b84876c08d8a6 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Tue, 22 Mar 2022 10:25:29 +0100 Subject: [PATCH 13/13] fix CERT_REQ minChainLength in RCA --- data/certificates/profiles/CERT_IUT_A_RCA.xml | 2 +- data/certificates/profiles/CERT_IUT_C_RCA.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/certificates/profiles/CERT_IUT_A_RCA.xml b/data/certificates/profiles/CERT_IUT_A_RCA.xml index bbd4d05..b8865e7 100644 --- a/data/certificates/profiles/CERT_IUT_A_RCA.xml +++ b/data/certificates/profiles/CERT_IUT_A_RCA.xml @@ -30,7 +30,7 @@ - + 01 FE/FF 01 diff --git a/data/certificates/profiles/CERT_IUT_C_RCA.xml b/data/certificates/profiles/CERT_IUT_C_RCA.xml index d536970..e3c2c73 100644 --- a/data/certificates/profiles/CERT_IUT_C_RCA.xml +++ b/data/certificates/profiles/CERT_IUT_C_RCA.xml @@ -29,7 +29,7 @@ - + 01 FE/FF 01 -- GitLab