From 70bf33d1821baf44764555be6a63488798c4d086 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Tue, 26 Jul 2016 01:46:03 +0200 Subject: [PATCH] Add PKCS#12 UTF-8 interoperability test. Reviewed-by: Richard Levitte --- test/recipes/80-test_pkcs12.t | 31 +++++++++++++++++++++++++++++++ test/shibboleth.pfx | Bin 0 -> 2519 bytes 2 files changed, 31 insertions(+) create mode 100644 test/recipes/80-test_pkcs12.t create mode 100644 test/shibboleth.pfx diff --git a/test/recipes/80-test_pkcs12.t b/test/recipes/80-test_pkcs12.t new file mode 100644 index 0000000000..681ce45fcb --- /dev/null +++ b/test/recipes/80-test_pkcs12.t @@ -0,0 +1,31 @@ +use strict; +use warnings; + +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use Encode; + +setup("test_pkcs12"); + +plan tests => 1; + +my $pass = "σύνθημα γνώρισμα"; + +my $savedcp; +if (eval { require Win32::Console; 1; }) { + # Trouble is that Win32 perl uses CreateProcessA, which + # makes it problematic to pass non-ASCII arguments. The only + # feasible option is to pick one language, set corresponding + # code page and reencode the problematic string... + + $savedcp = Win32::Console::OutputCP(); + Win32::Console::OutputCP(1253); + $pass = Encode::encode("cp1253",Encode::decode("utf-8",$pass)); +} + +# just see that we can read shibboleth.pfx protected with $pass +ok(run(app(["openssl", "pkcs12", "-noout", + "-password", "pass:$pass", + "-in", srctop_file("test", "shibboleth.pfx")])), + "test_pkcs12"); + +Win32::Console::OutputCP($savedcp) if (defined($savedcp)); diff --git a/test/shibboleth.pfx b/test/shibboleth.pfx new file mode 100644 index 0000000000000000000000000000000000000000..9c5cc546b8930c1fe80c8996fb85b893a818ab78 GIT binary patch literal 2519 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 j-!)E)WJ4mX8IM!9We=OFekhdRZDC=dsiYPE