[Pkg-privacy-commits] [msva-perl] 193/356: fix up the pem-handling code, and test it
Ximin Luo
infinity0 at moszumanska.debian.org
Mon Aug 24 07:41:55 UTC 2015
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch debian
in repository msva-perl.
commit d53fd14c12e4e3d3e0d3a280a2f7c79c05eb8972
Author: Daniel Kahn Gillmor <dkg at fifthhorseman.net>
Date: Fri Oct 29 00:54:01 2010 -0400
fix up the pem-handling code, and test it
---
Changelog | 3 ++-
Crypt/Monkeysphere/MSVA.pm | 7 ++++---
tests/basic | 26 +++++++++++++++++---------
3 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/Changelog b/Changelog
index 25dde74..4f5e0ae 100644
--- a/Changelog
+++ b/Changelog
@@ -12,8 +12,9 @@ msva-perl (0.6~pre) upstream;
(closes MS #2567)
* report server implementation name and version with every query (closes
MS # 2564)
+ * support x509pem PKC format in addition to x509der (addresses MS #2566)
- -- Daniel Kahn Gillmor <dkg at fifthhorseman.net> Thu, 28 Oct 2010 17:14:35 -0400
+ -- Daniel Kahn Gillmor <dkg at fifthhorseman.net> Fri, 29 Oct 2010 00:53:37 -0400
msva-perl (0.5) upstream;
diff --git a/Crypt/Monkeysphere/MSVA.pm b/Crypt/Monkeysphere/MSVA.pm
index 55dc5bc..624ff86 100755
--- a/Crypt/Monkeysphere/MSVA.pm
+++ b/Crypt/Monkeysphere/MSVA.pm
@@ -396,14 +396,15 @@
my $ready = 0;
use MIME::Base64;
foreach my $line (@lines) {
- if ($ready) {
+ if ($line eq '-----END CERTIFICATE-----') {
+ last;
+ } elsif ($ready) {
push @goodlines, $line;
} elsif ($line eq '-----BEGIN CERTIFICATE-----') {
$ready = 1;
- } elsif ($line eq '-----END CERTIFICATE-----') {
- last;
}
}
+ msvalog('debug', "%d lines of base64:\n%s\n", $#goodlines + 1, join("\n", @goodlines));
return decode_base64(join('', @goodlines));
}
diff --git a/tests/basic b/tests/basic
index 266d8a2..14cbf2e 100755
--- a/tests/basic
+++ b/tests/basic
@@ -51,6 +51,7 @@ printf "Key-Type: RSA\nKey-Length: 1024\nKey-Usage: sign\nName-Real: MSVA Test C
# make 3 websites (X, Y, and Z) with self-signed certs:
for name in x y z ; do
openssl req -x509 -subj "/CN=${name}.example.net/" -nodes -sha256 -newkey rsa:1024 -keyout "${WORKDIR}/sec/${name}.key" -outform DER -out "${WORKDIR}/x509/${name}.der"
+ openssl x509 -inform DER -outform PEM < "${WORKDIR}/x509/${name}.der" > "${WORKDIR}/x509/${name}.pem"
done
# translate X and Y's keys into OpenPGP cert
@@ -62,23 +63,30 @@ runtests() {
# X should not validate as X or Y or Z:
for name in x y z; do
! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${name}.example.net" x509der < "${WORKDIR}/x509/x.der"
+ ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${name}.example.net" x509pem < "${WORKDIR}/x509/x.pem"
done
# certify X's OpenPGP cert with CA
gpg --batch --yes --sign-key https://x.example.net
-
- # X should now validate as X
- "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https x.example.net x509der < "${WORKDIR}/x509/x.der"
+ # it should fail if we pass it the wrong kind of data:
+ ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https x.example.net "x509der" < "${WORKDIR}/x509/x.pem"
+ ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https x.example.net "x509pem" < "${WORKDIR}/x509/x.der"
+
+ for ctype in pem der; do
+ # X should now validate as X
+ "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https x.example.net "x509${ctype}" < "${WORKDIR}/x509/x.${ctype}"
+
# but X should not validate as Y or Z:
- for name in x y z; do
- ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${name}.example.net" x509der < "${WORKDIR}/x509/x.der"
- done
+ for name in x y z; do
+ ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${name}.example.net" "x509${ctype}" < "${WORKDIR}/x509/x.${ctype}"
+ done
# neither Y nor Z should validate as any of them:
- for src in y z; do
- for targ in x y z; do
- ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${targ}.example.net" x509der < "${WORKDIR}/x509/${src}.der"
+ for src in y z; do
+ for targ in x y z; do
+ ! "${srcdir}"/test-msva msva-perl "${srcdir}"/test-msva msva-query-agent https "${targ}.example.net" "x509${ctype}" < "${WORKDIR}/x509/${src}.${ctype}"
+ done
done
done
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/msva-perl.git
More information about the Pkg-privacy-commits
mailing list