1#!/bin/sh 2 3# Copyright (c) 2013 The Chromium Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7# This script is used to generate the test keys for the unit test in 8# android/keystore_unittest.c. 9# 10# These are test RSA / DSA / ECDSA private keys in PKCS#8 format, as well 11# as the corresponding DSA / ECDSA public keys. 12# 13 14# Exit script as soon a something fails. 15set -e 16 17mkdir -p out 18rm -rf out/* 19 20# Generate a single 2048-bits RSA private key in PKCS#8 format. 21KEY=android-test-key-rsa 22openssl genrsa \ 23 -out out/$KEY.pem \ 24 2048 25 26# Generate a 2048-bits DSA private key in PKCS#8 format, 27# as well as its public key in X.509 DER format. 28KEY=android-test-key-dsa 29openssl dsaparam \ 30 -out out/$KEY.param.pem \ 31 2048 32 33openssl gendsa \ 34 -out out/$KEY.pem \ 35 out/$KEY.param.pem 36 37openssl dsa \ 38 -in out/$KEY.pem \ 39 -outform PEM \ 40 -out out/$KEY-public.pem \ 41 -pubout 42 43rm out/$KEY.param.pem 44 45# Generate an ECDSA private key, in PKCS#8 format, 46# as well as its public key in X.509 DER format. 47KEY=android-test-key-ecdsa 48openssl ecparam -genkey -name prime256v1 -out out/$KEY.pem 49 50openssl ec \ 51 -in out/$KEY.pem \ 52 -outform PEM \ 53 -out out/$KEY-public.pem \ 54 -pubout 55 56# We're done here. 57