diff options
| author | Wojtek Kosior <wk@koszkonutek-tmp.pl.eu.org> | 2021-04-30 00:33:56 +0200 | 
|---|---|---|
| committer | Wojtek Kosior <wk@koszkonutek-tmp.pl.eu.org> | 2021-04-30 00:33:56 +0200 | 
| commit | aa4d426b4d3527d7e166df1a05058c9a4a0f6683 (patch) | |
| tree | 4ff17ce8b89a2321b9d0ed4bcfc37c447bcb6820 /openssl-1.1.0h/test/recipes/80-test_pkcs12.t | |
| download | smtps-and-pop3s-console-program-master.tar.gz smtps-and-pop3s-console-program-master.zip | |
Diffstat (limited to 'openssl-1.1.0h/test/recipes/80-test_pkcs12.t')
| -rw-r--r-- | openssl-1.1.0h/test/recipes/80-test_pkcs12.t | 68 | 
1 files changed, 68 insertions, 0 deletions
| diff --git a/openssl-1.1.0h/test/recipes/80-test_pkcs12.t b/openssl-1.1.0h/test/recipes/80-test_pkcs12.t new file mode 100644 index 0000000..430df67 --- /dev/null +++ b/openssl-1.1.0h/test/recipes/80-test_pkcs12.t @@ -0,0 +1,68 @@ +#! /usr/bin/env perl +# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License").  You may not use +# this file except in compliance with the License.  You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +use strict; +use warnings; + +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test::Utils; + +use Encode; + +setup("test_pkcs12"); + +plan skip_all => "The PKCS12 command line utility is not supported by this OpenSSL build" +    if disabled("des"); + +my $pass = "σύνθημα γνώρισμα"; + +my $savedcp; +if (eval { require Win32::API; 1; }) { +    # Trouble is that Win32 perl uses CreateProcessA, which +    # makes it problematic to pass non-ASCII arguments, from perl[!] +    # that is. This is because CreateProcessA is just a wrapper for +    # CreateProcessW and will call MultiByteToWideChar and use +    # system default locale. Since we attempt Greek pass-phrase +    # conversion can be done only with Greek locale. + +    Win32::API->Import("kernel32","UINT GetSystemDefaultLCID()"); +    if (GetSystemDefaultLCID() != 0x408) { +        plan skip_all => "Non-Greek system locale"; +    } else { +        # Ensure correct code page so that VERBOSE output is right. +        Win32::API->Import("kernel32","UINT GetConsoleOutputCP()"); +        Win32::API->Import("kernel32","BOOL SetConsoleOutputCP(UINT cp)"); +        $savedcp = GetConsoleOutputCP(); +        SetConsoleOutputCP(1253); +        $pass = Encode::encode("cp1253",Encode::decode("utf-8",$pass)); +    } +} elsif ($^O eq "MSWin32") { +    plan skip_all => "Win32::API unavailable"; +} else { +    # Running MinGW tests transparently under Wine apparently requires +    # UTF-8 locale... + +    foreach(`locale -a`) { +        s/\R$//; +        if ($_ =~ m/^C\.UTF\-?8/i) { +            $ENV{LC_ALL} = $_; +            last; +        } +    } +} +$ENV{OPENSSL_WIN32_UTF8}=1; + +plan tests => 1; + +# 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"); + +SetConsoleOutputCP($savedcp) if (defined($savedcp)); | 
