CVCert is burn only if it does not exist. This check is only executed for first configuration.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -42,6 +42,14 @@ set_source_files_properties(
|
|||||||
PROPERTIES COMPILE_DEFINITIONS "PACKAGE_VERSION=\"0.22.0\";OPENSC_CONF_PATH=\".\""
|
PROPERTIES COMPILE_DEFINITIONS "PACKAGE_VERSION=\"0.22.0\";OPENSC_CONF_PATH=\".\""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
find_package( PythonInterp 3.7 REQUIRED )
|
||||||
|
|
||||||
|
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cvcerts.h)
|
||||||
|
execute_process(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/burn-cvcerts.py ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
message("Burning CVCert")
|
||||||
|
endif()
|
||||||
|
|
||||||
target_sources(pico_hsm PUBLIC
|
target_sources(pico_hsm PUBLIC
|
||||||
${CMAKE_CURRENT_LIST_DIR}/src/hsm/hsm2040.c
|
${CMAKE_CURRENT_LIST_DIR}/src/hsm/hsm2040.c
|
||||||
${CMAKE_CURRENT_LIST_DIR}/src/hsm/sc_hsm.c
|
${CMAKE_CURRENT_LIST_DIR}/src/hsm/sc_hsm.c
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from cryptography.hazmat.primitives.asymmetric import ec
|
|||||||
import base64
|
import base64
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import json
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
def print_var(v, name):
|
def print_var(v, name):
|
||||||
s = '\n'
|
s = '\n'
|
||||||
@@ -29,6 +30,9 @@ def print_var(v, name):
|
|||||||
s += '};\n'
|
s += '};\n'
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = sys.argv[1:]
|
||||||
|
|
||||||
private_key = ec.generate_private_key(ec.SECP192R1(), default_backend())
|
private_key = ec.generate_private_key(ec.SECP192R1(), default_backend())
|
||||||
public_key = private_key.public_key()
|
public_key = private_key.public_key()
|
||||||
pub_num = public_key.public_numbers()
|
pub_num = public_key.public_numbers()
|
||||||
@@ -66,7 +70,9 @@ s += print_var(cvcert,'termca')
|
|||||||
pvk = private_key.private_numbers().private_value.to_bytes(24,'big')
|
pvk = private_key.private_numbers().private_value.to_bytes(24,'big')
|
||||||
s += print_var(pvk,'termca_pk')
|
s += print_var(pvk,'termca_pk')
|
||||||
s += '\n#endif\n'
|
s += '\n#endif\n'
|
||||||
|
f = open(args[0] + '/src/hsm/cvcerts.h','w')
|
||||||
f = open('src/hsm/cvcerts.h','w')
|
|
||||||
f.write(s)
|
f.write(s)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user