-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathyf_signimage.conf
129 lines (129 loc) · 12.2 KB
/
yf_signimage.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#! /bin/false
# vim: set tabstop=4 syntax=sh :
# SPDX-License-Identifier: GPL-2.0-or-later WITH exceptions
#######################################################################################################
# #
# configuration file for signimage scripts to define file locations and extension names #
# #
###################################################################################################VER#
# #
# yf_signimage.conf, version 1.0.1 #
# #
###################################################################################################CPY#
# #
# Copyright (C) 2016-2021 P. Haemmerlein ([email protected]) #
# #
###################################################################################################LIC#
# #
# This project is free software, you can redistribute it and/or modify it under the terms of the GNU #
# General Public License as published by the Free Software Foundation; either version 2 of the #
# License, or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without #
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
# General Public License under http://www.gnu.org/licenses/gpl-2.0.html for more details. #
# #
#################################################################################################EMBED#
# #
# This file contains the definitions of name parts for the files needed to sign and/or verify a #
# signature of a firmware image (as AVM's libfwsign library would do it). #
# #
# You should consider to overwrite the settings below using environment values, instead of changes to #
# contents of this file, if you're using the scripts from different toolchains and with varying #
# values. #
# #
#################################################################################################EMBED#
# #
# To relocate all personal files needed for the provided scripts (private and public keys, seeds for #
# random number generators, etc.) in one single swoop, specify the path and common filename prefix #
# with a variable named YF_SIGNIMAGE_KEYS. The path may be an absolute value or a relative one, #
# starting from location of the script files from project. #
# #
# Previous versions used a variable name 'name_prefix' instead, but this name is deprecated now, even #
# if it's still taken into account. #
# #
# If neither of these variables is present, FREETZ_IMAGE_SIGNING_PREFIX is checked next, to retain #
# backward compatibility with the original Freetz project (https://github.com/Freetz/freetz). #
# #
# In the last resort, the default value '$HOME/.yf_signimage/image_signing' is used and the files are #
# searched in the home directory of current user (or wherever the variable $HOME points to - this #
# part is taken from environment anyway). #
# #
#######################################################################################################
# #
# this is the prefix to locate and name the files related to the RSA key generated/used for signing #
# #
#######################################################################################################
# #
# uncomment and change the next assignment to persist different settings, but keep the other checks #
# intact please #
# #
#######################################################################################################
#YF_SIGNIMAGE_KEYS="<place your own value here>"
#######################################################################################################
# #
# evaluate possible replacements, if YF_SIGNIMAGE_KEYS isn't set yet #
# #
#######################################################################################################
if [ -z "$YF_SIGNIMAGE_KEYS" ]; then
[ -z "$name_prefix" ] && YF_SIGNIMAGE_KEYS="$FREETZ_IMAGE_SIGNING_PREFIX"
[ -z "$YF_SIGNIMAGE_KEYS" ] && YF_SIGNIMAGE_KEYS="${YF_SIGNIMAGE_KEYS:-$HOME/.yf_signimage/image_signing}"
fi
#######################################################################################################
# #
# the extension of private key file - PEM format, encrypted with AES-128 best #
# #
#######################################################################################################
YF_SIGNIMAGE_PRIVKEYEXT="${YF_SIGNIMAGE_PRIVKEYEXT:-.key}"
#######################################################################################################
# #
# the extension of public key file in standard PEM format #
# #
#######################################################################################################
YF_SIGNIMAGE_PUBKEYEXT="${YF_SIGNIMAGE_PUBKEYEXT:-.pem}"
#######################################################################################################
# #
# the extension of public key file in AVM's own format - a text file with hexadecimal values for #
# modulus and exponent on separate lines #
# #
#######################################################################################################
YF_SIGNIMAGE_AVMKEYEXT="${YF_SIGNIMAGE_AVMKEYEXT:-.asc}"
#######################################################################################################
# #
# the extension of a file to be used as an additional source of entropy for "openssl genrsa" ... it #
# will be created while generating the signing key, if it's not present - but this is done with 16 #
# blocks of each 16 bytes read from /dev/random and this may be very time consuming, especially on #
# an embedded system like a FRITZ!Box - so you should consider to create it yourself before you try #
# to generate your own key #
# #
#######################################################################################################
YF_SIGNIMAGE_PRNGSEEDEXT="${YF_SIGNIMAGE_PRNGSEEDEXT:-.rnd}"
#######################################################################################################
# #
# the number of bits to generate for a new RSA key, AVM's components can only handle 1024 bit keys #
# #
#######################################################################################################
YF_SIGNIMAGE_KEYSIZE="${YF_SIGNIMAGE_KEYSIZE:-1024}"
#######################################################################################################
# #
# a list of hash algorithms supported by the scripts - placed into this file to provide an option to #
# remove or add algorithm names without the needs to change the scripts; please take into account, #
# that the specified algorithms (at least the one, that's finally used) have be supported by the #
# openssl binary, too #
# #
#######################################################################################################
YF_SIGNIMAGE_SUPPORTED_HASHES="${YF_SIGNIMAGE_SUPPORTED_HASHES:-md5 sha1 sha224 sha256 sha384 sha512 whirlpool}"
#######################################################################################################
# #
# if you want to overwrite the needed binaries (tar, dd, openssl) with own versions, you may specify #
# the following variables here or directly at the shell environment #
# #
#######################################################################################################
#YF_SIGNIMAGE_TAR="tar"
#YF_SIGNIMAGE_DD="dd"
#YF_SIGNIMAGE_OPENSSL="openssl"
#######################################################################################################
# #
# end of file #
# #
#######################################################################################################