/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-keygen

merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
KEYDIR="/etc/mandos"
26
26
KEYTYPE=DSA
27
27
KEYLENGTH=1024
 
28
SUBKEYTYPE=ELG-E
 
29
SUBKEYLENGTH=2048
28
30
KEYNAME="`hostname --fqdn`"
29
31
KEYEMAIL=""
30
32
KEYCOMMENT="Mandos client key"
48
50
  -t TYPE, --type TYPE  Key type.  Default is DSA.
49
51
  -l BITS, --length BITS
50
52
                        Key length in bits.  Default is 1024.
 
53
  -s TYPE, --subtype TYPE
 
54
                        Subkey type.  Default is ELG-E.
 
55
  -L BITS, --sublength BITS
 
56
                        Subkey length in bits.  Default is 2048.
51
57
  -n NAME, --name NAME  Name of key.  Default is the FQDN.
52
58
  -e EMAIL, --email EMAIL
53
59
                        Email address of key.  Default is empty.
66
72
    case "$1" in
67
73
        -d|--dir) KEYDIR="$2"; shift 2;;
68
74
        -t|--type) KEYTYPE="$2"; shift 2;;
 
75
        -s|--subtype) SUBKEYTYPE="$2"; shift 2;;
69
76
        -l|--length) KEYLENGTH="$2"; shift 2;;
 
77
        -L|--sublength) SUBKEYLENGTH="$2"; shift 2;;
70
78
        -n|--name) KEYNAME="$2"; shift 2;;
71
79
        -e|--email) KEYEMAIL="$2"; shift 2;;
72
80
        -c|--comment) KEYCOMMENT="$2"; shift 2;;
143
151
 
144
152
# Remove temporary files on exit
145
153
trap "
146
 
set +e
147
 
rm --force $PUBRING $BATCHFILE;
148
 
shred --remove $SECRING;
149
 
stty echo
 
154
set +e; \
 
155
rm --force $PUBRING $BATCHFILE; \
 
156
shred --remove $SECRING; \
 
157
stty echo; \
150
158
" EXIT
151
159
 
152
160
# Create batch file for GnuPG
154
162
Key-Type: $KEYTYPE
155
163
Key-Length: $KEYLENGTH
156
164
#Key-Usage: encrypt,sign,auth
 
165
Subkey-Type: $SUBKEYTYPE
 
166
Subkey-Length: $SUBKEYLENGTH
 
167
#Subkey-Usage: encrypt,sign,auth
157
168
Name-Real: $KEYNAME
158
169
$KEYCOMMENTLINE
159
170
$KEYEMAILLINE
160
171
Expire-Date: $KEYEXPIRE
 
172
#Preferences: <string>
 
173
#Handle: <no-spaces>
161
174
%pubring $PUBRING
162
175
%secring $SECRING
163
176
%commit
167
180
 
168
181
# Generate a new key in the key rings
169
182
gpg --no-random-seed-file --quiet --batch --no-tty \
170
 
    --no-default-keyring --no-options --batch \
 
183
    --no-default-keyring --no-options --enable-dsa2 \
171
184
    --secret-keyring "$SECRING" --keyring "$PUBRING" \
172
185
    --gen-key "$BATCHFILE"
173
186
rm --force "$BATCHFILE"
193
206
 
194
207
# Export keys from key rings to key files
195
208
gpg --no-random-seed-file --quiet --batch --no-tty --armor \
196
 
    --no-default-keyring --no-options --secret-keyring "$SECRING" \
197
 
    --keyring "$PUBRING" --export-options export-minimal \
198
 
    --comment "$FILECOMMENT" --output "$SECKEYFILE" \
199
 
    --export-secret-keys
 
209
    --no-default-keyring --no-options --enable-dsa2 \
 
210
    --secret-keyring "$SECRING" --keyring "$PUBRING" \
 
211
    --export-options export-minimal --comment "$FILECOMMENT" \
 
212
    --output "$SECKEYFILE" --export-secret-keys
200
213
gpg --no-random-seed-file --quiet --batch --no-tty --armor \
201
 
    --no-default-keyring --no-options --secret-keyring "$SECRING" \
202
 
    --keyring "$PUBRING" --export-options export-minimal \
203
 
    --comment "$FILECOMMENT" --output "$PUBKEYFILE" \
204
 
    --export
 
214
    --no-default-keyring --no-options --enable-dsa2 \
 
215
    --secret-keyring "$SECRING" --keyring "$PUBRING" \
 
216
    --export-options export-minimal --comment "$FILECOMMENT" \
 
217
    --output "$PUBKEYFILE" --export
205
218
 
206
219
trap - EXIT
207
220