xref: /optee_os/ta/pkcs11/scripts/dump_ec_curve_params.sh (revision 1f5d4d2339edc7725107bca8127b5f84cc86f620)
1*1f5d4d23SVesa Jääskeläinen#!/bin/bash
2*1f5d4d23SVesa Jääskeläinen# SPDX-License-Identifier: BSD-2-Clause
3*1f5d4d23SVesa Jääskeläinen
4*1f5d4d23SVesa JääskeläinenEC_CURVES="prime192v1 secp224r1 prime256v1 secp384r1 secp521r1"
5*1f5d4d23SVesa Jääskeläinen
6*1f5d4d23SVesa Jääskeläinenecho "/*"
7*1f5d4d23SVesa Jääskeläinenecho " * DER encoded EC parameters generated with script:"
8*1f5d4d23SVesa Jääskeläinenecho " *   ta/pkcs11/scripts/dump_ec_params.sh"
9*1f5d4d23SVesa Jääskeläinenecho " */"
10*1f5d4d23SVesa Jääskeläinenecho ""
11*1f5d4d23SVesa Jääskeläinen
12*1f5d4d23SVesa Jääskeläinenfor EC_CURVE in ${EC_CURVES} ; do
13*1f5d4d23SVesa Jääskeläinen	echo "static const uint8_t ${EC_CURVE}_name_der[] = {"
14*1f5d4d23SVesa Jääskeläinen	openssl ecparam -name ${EC_CURVE} -param_enc named_curve | \
15*1f5d4d23SVesa Jääskeläinen		openssl asn1parse -noout -out /dev/stdout | \
16*1f5d4d23SVesa Jääskeläinen		hexdump -v -e '/8 "\t"' -e '/1 "0x%02x, " ' -e '/8 "\n"' | \
17*1f5d4d23SVesa Jääskeläinen		sed 's/0x  ,//g'
18*1f5d4d23SVesa Jääskeläinen	echo "};"
19*1f5d4d23SVesa Jääskeläinen	echo ""
20*1f5d4d23SVesa Jääskeläinendone
21*1f5d4d23SVesa Jääskeläinen
22*1f5d4d23SVesa Jääskeläinenfor EC_CURVE in ${EC_CURVES} ; do
23*1f5d4d23SVesa Jääskeläinen	echo "static const uint8_t ${EC_CURVE}_oid_der[] = {"
24*1f5d4d23SVesa Jääskeläinen	openssl ecparam -name ${EC_CURVE} -param_enc explicit | \
25*1f5d4d23SVesa Jääskeläinen		openssl asn1parse -noout -out /dev/stdout | \
26*1f5d4d23SVesa Jääskeläinen		hexdump -v -e '/8 "\t"' -e '/1 "0x%02x, " ' -e '/8 "\n"' | \
27*1f5d4d23SVesa Jääskeläinen		sed 's/0x  ,//g'
28*1f5d4d23SVesa Jääskeläinen	echo "};"
29*1f5d4d23SVesa Jääskeläinen	echo ""
30*1f5d4d23SVesa Jääskeläinendone
31