xref: /optee_os/ta/pkcs11/scripts/dump_ec_curve_params.sh (revision 228cf40e2ba89ab3d8afac3eba57e4563fd6c630)
1*228cf40eSRouven Czerwinski#!/usr/bin/env bash
21f5d4d23SVesa Jääskeläinen# SPDX-License-Identifier: BSD-2-Clause
31f5d4d23SVesa Jääskeläinen
41f5d4d23SVesa JääskeläinenEC_CURVES="prime192v1 secp224r1 prime256v1 secp384r1 secp521r1"
51f5d4d23SVesa Jääskeläinen
61f5d4d23SVesa Jääskeläinenecho "/*"
71f5d4d23SVesa Jääskeläinenecho " * DER encoded EC parameters generated with script:"
81f5d4d23SVesa Jääskeläinenecho " *   ta/pkcs11/scripts/dump_ec_params.sh"
91f5d4d23SVesa Jääskeläinenecho " */"
101f5d4d23SVesa Jääskeläinenecho ""
111f5d4d23SVesa Jääskeläinen
121f5d4d23SVesa Jääskeläinenfor EC_CURVE in ${EC_CURVES} ; do
131f5d4d23SVesa Jääskeläinen	echo "static const uint8_t ${EC_CURVE}_name_der[] = {"
141f5d4d23SVesa Jääskeläinen	openssl ecparam -name ${EC_CURVE} -param_enc named_curve | \
151f5d4d23SVesa Jääskeläinen		openssl asn1parse -noout -out /dev/stdout | \
161f5d4d23SVesa Jääskeläinen		hexdump -v -e '/8 "\t"' -e '/1 "0x%02x, " ' -e '/8 "\n"' | \
171f5d4d23SVesa Jääskeläinen		sed 's/0x  ,//g'
181f5d4d23SVesa Jääskeläinen	echo "};"
191f5d4d23SVesa Jääskeläinen	echo ""
201f5d4d23SVesa Jääskeläinendone
211f5d4d23SVesa Jääskeläinen
221f5d4d23SVesa Jääskeläinenfor EC_CURVE in ${EC_CURVES} ; do
231f5d4d23SVesa Jääskeläinen	echo "static const uint8_t ${EC_CURVE}_oid_der[] = {"
241f5d4d23SVesa Jääskeläinen	openssl ecparam -name ${EC_CURVE} -param_enc explicit | \
251f5d4d23SVesa Jääskeläinen		openssl asn1parse -noout -out /dev/stdout | \
261f5d4d23SVesa Jääskeläinen		hexdump -v -e '/8 "\t"' -e '/1 "0x%02x, " ' -e '/8 "\n"' | \
271f5d4d23SVesa Jääskeläinen		sed 's/0x  ,//g'
281f5d4d23SVesa Jääskeläinen	echo "};"
291f5d4d23SVesa Jääskeläinen	echo ""
301f5d4d23SVesa Jääskeläinendone
31