/mandos/trunk

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

« back to all changes in this revision

Viewing changes to mandos-keygen

  • Committer: Teddy Hogeborn
  • Date: 2018-08-15 09:26:02 UTC
  • Revision ID: teddy@recompile.se-20180815092602-xoyb5s6gf8376i7u
mandos-client: Set system clock if necessary

* plugins.d/mandos-client.c (init_gpgme/import_key): If the system
  clock is not set, or set to january 1970, set the system clock to
  the more plausible value that is the mtime of the key file.  This is
  required by GnuPG to be able to import the keys.  (We can't pass the
  --ignore-time-conflict or the --ignore-valid-from options though
  GPGME.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
3
3
# Mandos key generator - create a new OpenPGP key for a Mandos client
4
4
5
 
# Copyright © 2008-2016 Teddy Hogeborn
6
 
# Copyright © 2008-2016 Björn Påhlsson
 
5
# Copyright © 2008-2018 Teddy Hogeborn
 
6
# Copyright © 2008-2018 Björn Påhlsson
7
7
8
 
# This program is free software: you can redistribute it and/or modify
9
 
# it under the terms of the GNU General Public License as published by
 
8
# This file is part of Mandos.
 
9
#
 
10
# Mandos is free software: you can redistribute it and/or modify it
 
11
# under the terms of the GNU General Public License as published by
10
12
# the Free Software Foundation, either version 3 of the License, or
11
13
# (at your option) any later version.
12
14
#
13
 
#     This program is distributed in the hope that it will be useful,
14
 
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
#     Mandos is distributed in the hope that it will be useful, but
 
16
#     WITHOUT ANY WARRANTY; without even the implied warranty of
15
17
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
18
#     GNU General Public License for more details.
17
19
18
20
# You should have received a copy of the GNU General Public License
19
 
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
21
# along with Mandos.  If not, see <http://www.gnu.org/licenses/>.
20
22
21
23
# Contact the authors at <mandos@recompile.se>.
22
24
23
25
 
24
 
VERSION="1.7.3"
 
26
VERSION="1.7.19"
25
27
 
26
28
KEYDIR="/etc/keys/mandos"
27
29
KEYTYPE=RSA
161
163
        [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|*) FORCE=0;;
162
164
    esac
163
165
    
164
 
    if [ \( -e "$SECKEYFILE" -o -e "$PUBKEYFILE" \) \
165
 
        -a "$FORCE" -eq 0 ]; then
 
166
    if { [ -e "$SECKEYFILE" ] || [ -e "$PUBKEYFILE" ]; } \
 
167
        && [ "$FORCE" -eq 0 ]; then
166
168
        echo "Refusing to overwrite old key files; use --force" >&2
167
169
        exit 1
168
170
    fi
218
220
        #Handle: <no-spaces>
219
221
        #%pubring pubring.gpg
220
222
        #%secring secring.gpg
 
223
        %no-protection
221
224
        %commit
222
225
        EOF
223
226
    
285
288
    esac
286
289
    
287
290
    if [ $SSH -eq 1 ]; then
288
 
        for ssh_keytype in ed25519 rsa; do
 
291
        for ssh_keytype in ecdsa-sha2-nistp256 ed25519 rsa; do
289
292
            set +e
290
293
            ssh_fingerprint="`ssh-keyscan -t $ssh_keytype localhost 2>/dev/null`"
 
294
            err=$?
291
295
            set -e
292
 
            if [ $? -ne 0 ]; then
 
296
            if [ $err -ne 0 ]; then
293
297
                ssh_fingerprint=""
294
298
                continue
295
299
            fi
324
328
            cat "$PASSFILE"
325
329
        else
326
330
            tty --quiet && stty -echo
327
 
            echo -n "Enter passphrase: " >&2
328
 
            read first
 
331
            echo -n "Enter passphrase: " >/dev/tty
 
332
            read -r first
329
333
            tty --quiet && echo >&2
330
 
            echo -n "Repeat passphrase: " >&2
331
 
            read second
 
334
            echo -n "Repeat passphrase: " >/dev/tty
 
335
            read -r second
332
336
            if tty --quiet; then
333
337
                echo >&2
334
338
                stty echo