mirror of
git://git.gnupg.org/gnupg.git
synced 2025-03-11 22:52:47 +01:00
tests: Add test for the ssh key export.
* tests/openpgp/Makefile.am (XTESTS): Add new test. (sample_keys): Add new files. * tests/openpgp/samplekeys/authenticate-only.pub.asc: New file. * tests/openpgp/samplekeys/authenticate-only.sec.asc: Likewise. * tests/openpgp/ssh-export.scm: Likewise. GnuPG-bug-id: 2848 Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
4db9a42564
commit
47b8b9e2ce
@ -81,6 +81,7 @@ XTESTS = \
|
|||||||
default-key.scm \
|
default-key.scm \
|
||||||
export.scm \
|
export.scm \
|
||||||
ssh-import.scm \
|
ssh-import.scm \
|
||||||
|
ssh-export.scm \
|
||||||
quick-key-manipulation.scm \
|
quick-key-manipulation.scm \
|
||||||
key-selection.scm \
|
key-selection.scm \
|
||||||
issue2015.scm \
|
issue2015.scm \
|
||||||
@ -186,7 +187,9 @@ sample_keys = samplekeys/README \
|
|||||||
samplekeys/ssh-ecdsa.key \
|
samplekeys/ssh-ecdsa.key \
|
||||||
samplekeys/ssh-ed25519.key \
|
samplekeys/ssh-ed25519.key \
|
||||||
samplekeys/ssh-rsa.key \
|
samplekeys/ssh-rsa.key \
|
||||||
samplekeys/issue2346.gpg
|
samplekeys/issue2346.gpg \
|
||||||
|
samplekeys/authenticate-only.pub.asc \
|
||||||
|
samplekeys/authenticate-only.sec.asc
|
||||||
|
|
||||||
sample_msgs = samplemsgs/issue2419.asc
|
sample_msgs = samplemsgs/issue2419.asc
|
||||||
|
|
||||||
|
31
tests/openpgp/samplekeys/authenticate-only.pub.asc
Normal file
31
tests/openpgp/samplekeys/authenticate-only.pub.asc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQENBFg8F68BCAC5VS/59Nrg5mw+wEAnk/vi0CGI+K5rGTmyAruy/aiS4kYfUJiE
|
||||||
|
Pq/JZYCeNQ9GTbJN5M+Fiv1bhw6xeEfl4FAC/A0Uo39fvUSLJH2V+8lT3GxXt8KR
|
||||||
|
Yx8MvotvoKiG1DRvgnwRh1qibX6+htJahPwHDViUuFz0ZeEPWiCwuoMOELmiTsuE
|
||||||
|
VZbQsv08BwCOzIc3M8s63TtwMCUe+MBhqfRjEu6/Gt7miuGGVFXB96ao2O9u1HsR
|
||||||
|
7cUjgVQp6JwGLgIIijjy167Ms+fKZetqA9tzu1C1SAtNYiqmAUoqGG1YEjS7oApo
|
||||||
|
AKmHD+LGCMUPg5d6bhw+NyHjDAFWJEYv3kG3ABEBAAG0NVRlc3QgS2V5IChkbyBu
|
||||||
|
b3QgdXNlKSA8YXV0aGVudGljYXRlLW9ubHlAZXhhbXBsZS5vcmc+iQFOBBMBCAA4
|
||||||
|
FiEEkn7zd/0aG295XkDAKoeRfY/7pJ8FAlg8F68CGwEFCwkIBwIGFQgJCgsCBBYC
|
||||||
|
AwECHgECF4AACgkQKoeRfY/7pJ9+zAf9FVZknDCWCNY42+RIR36fq2l1Gs8KfMsX
|
||||||
|
rNXtfYPtLqioP8fz2LE0LoudSsZMLVygonPG0ZAxdIUHXcFdUqPrEzs4fEyR4xae
|
||||||
|
OSxui2Q/u6+9bi7eilYYzVNRWkuyx2TrRQZEjMXMnuJcWptGbRWs/ipRUZBHWfLl
|
||||||
|
2udLl+0TRIL7hni06xVCHbwE5szcLoyzzvIowGVADXFqeG7nty7uRNZNAD+ZWMH2
|
||||||
|
J0vspZlUSVi7z1VygzDI3U42SMJmVqnRmICsB3QLI8Ns4nxWXO2z8fheSFcrP+LA
|
||||||
|
cY3W6JgnLCzvyuogxnWmd4fzr1iB3E2Hcy/sr0cgQ5wtuseQRhmTlrkBDQRYPBfZ
|
||||||
|
AQgAtKcbBYrIqh3cRTqyZjMxw492RVQoFawYmpr1bQ4HphVGnT4IhJZQ4DAm1JJZ
|
||||||
|
QjzwDQiZMc1wD9Om6UC/g8gUBuFCpLCobwBzjH4an/G3Cfa8zGz5ANAROo5i5T1j
|
||||||
|
vgoFEFdVue/GpAmMNixz+0ItQBh9jiOC6IYk1yyv/OsTzsj6AHnH0XiDpGoTNkca
|
||||||
|
tb6Mu1VcXTMNf620Mxj6c7WE7awxL6MwKIa7XQSgXaO+JnbB+5Szz1wZ1ZhlnDp3
|
||||||
|
KOurlfcXIbZirEaqmRByb+V21Dj3icXOJEj1RUbyVNqBS8rhw17kSxcehw/6ZAMW
|
||||||
|
ehDmhXO98VVUknS0Mf+OJBi2JwARAQABiQE2BBgBCAAgFiEEkn7zd/0aG295XkDA
|
||||||
|
KoeRfY/7pJ8FAlg8F9kCGyAACgkQKoeRfY/7pJ+sawf/eSjxxAglAdolF9lK070u
|
||||||
|
VmMgq4GFPqJ3RqJPUFjwEFFSYLXkiALnMGXDSmOfPqCQ4c+PWwumFhKCz4MXVDD8
|
||||||
|
x6mi9Z+HlEwIMaCnckrSTuQ5OgwO/6vkhz42OcgMZ3WQnWfNVM8jbNP9vX1vroPe
|
||||||
|
HLFaPGy9KJMM0Z/hlCIIeyK/a90zWlT5UMfRoqNQRbY/iiYdmpvf69I9PobGVbo/
|
||||||
|
7ahZTumPWwjiGOztNXeuo5UUaAVVxMQBYKp2w3wil2sHzYfTfYUSMyh+oUFx4Xlz
|
||||||
|
WF3bLzsafRaeuK1h5+JuvIcimvU5zWZtn0hOpiIXpZOoJvvM9r5D4ZRT5UX2blQ8
|
||||||
|
Pw==
|
||||||
|
=vt5C
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
60
tests/openpgp/samplekeys/authenticate-only.sec.asc
Normal file
60
tests/openpgp/samplekeys/authenticate-only.sec.asc
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
VDw/
|
||||||
|
=vLFX
|
||||||
|
-----END PGP PRIVATE KEY BLOCK-----
|
52
tests/openpgp/ssh-export.scm
Executable file
52
tests/openpgp/ssh-export.scm
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env gpgscm
|
||||||
|
|
||||||
|
;; Copyright (C) 2016 g10 Code GmbH
|
||||||
|
;;
|
||||||
|
;; This file is part of GnuPG.
|
||||||
|
;;
|
||||||
|
;; GnuPG 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 3 of the License, or
|
||||||
|
;; (at your option) any later version.
|
||||||
|
;;
|
||||||
|
;; GnuPG 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 for more details.
|
||||||
|
;;
|
||||||
|
;; You should have received a copy of the GNU General Public License
|
||||||
|
;; along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(load (with-path "defs.scm"))
|
||||||
|
(setup-environment)
|
||||||
|
|
||||||
|
(define key
|
||||||
|
`(,(in-srcdir "samplekeys" "authenticate-only.sec.asc")
|
||||||
|
"927EF377FD1A1B6F795E40C02A87917D8FFBA49F"
|
||||||
|
"72360FDB6380212D5DAF2FA9E51185A9253C496D"
|
||||||
|
"ssh-rsa"))
|
||||||
|
|
||||||
|
(define :file car)
|
||||||
|
(define :fpr cadr)
|
||||||
|
(define :subkey-fpr caddr)
|
||||||
|
(define :kind cadddr)
|
||||||
|
|
||||||
|
;; Return true if a-str and b-str share a suffix of length n.
|
||||||
|
(define (string-common-suffix? n a-str b-str)
|
||||||
|
(let ((a-len (string-length a-str))
|
||||||
|
(b-len (string-length b-str)))
|
||||||
|
(if (> n (min a-len b-len))
|
||||||
|
#f
|
||||||
|
(string=? (substring a-str (- a-len n) a-len)
|
||||||
|
(substring b-str (- b-len n) b-len)))))
|
||||||
|
|
||||||
|
(info "Checking ssh export...")
|
||||||
|
(call-check `(,@GPG --yes --import ,(:file key)))
|
||||||
|
|
||||||
|
(let* ((result (call-check `(,@GPG --export-ssh-key ,(:fpr key))))
|
||||||
|
;; XXX: We should split at any whitespace here.
|
||||||
|
(parts (string-split (string-trim char-whitespace? result) #\space)))
|
||||||
|
(assert (string=? (car parts) (:kind key)))
|
||||||
|
;; XXX: We should not use a short keyid as the comment when
|
||||||
|
;; exporting an ssh key.
|
||||||
|
(assert (string-common-suffix? 8 (caddr parts) (:subkey-fpr key))))
|
Loading…
x
Reference in New Issue
Block a user