Commit 02d94f39 authored by sikeda's avatar sikeda
Browse files

[svn] Retrieving addition of a unittest from trunk.


git-svn-id: https://subversion.renater.fr/sympa/branches/sympa-6.2-branch@11213 05aa8bb8-cd2b-0410-b1d7-8918dfa770ce
parent 4d8a415b
......@@ -30,6 +30,7 @@ check_SCRIPTS = t/Language.t \
t/compile_executables.t \
t/tools_data.t \
t/tools_file.t \
t/Tools_SMIME.t \
t/tools_time.t
check_DATA = t/locale/cs/LC_MESSAGES/sympa.mo \
t/locale/cs/LC_MESSAGES/web_help.mo \
......
#!/usr/bin/perl
# -*- indent-tabs-mode: nil; -*-
# vim:ft=perl:et:sw=4
# $Id: tools_smime.t 8874 2013-03-14 18:59:35Z rousse $
use strict;
use English qw(-no_match_vars);
use File::Temp;
use MIME::Parser;
use Test::More;
#use Sympa::Tools::File;
use tools; # Sympa::Tools::SMIME;
use Conf;
$Conf::Conf{'openssl'} = 'openssl';
$Conf::Conf{'tmpdir'} = '/tmp';
plan tests => 20;
ok(
!tools::smime_find_keys('/no/where', 'sign'),
'non existing directory'
);
my $cert_dir = File::Temp->newdir(CLEANUP => $ENV{TEST_DEBUG} ? 0 : 1);
ok(
!tools::smime_find_keys($cert_dir, 'sign'),
'empty directory'
);
my $generic_cert_file = $cert_dir . '/cert.pem';
my $generic_key_file = $cert_dir . '/private_key';
my $encryption_cert_file = $cert_dir . '/cert.pem.enc';
my $encryption_key_file = $cert_dir . '/private_key.enc';
my $signature_cert_file = $cert_dir . '/cert.pem.sign';
my $signature_key_file = $cert_dir . '/private_key.sign';
touch($generic_cert_file);
ok(
!tools::smime_find_keys($cert_dir, 'sign'),
'directory with certificate only'
);
unlink($generic_cert_file);
touch($generic_key_file);
ok(
!tools::smime_find_keys($cert_dir, 'sign'),
'directory with key only'
);
unlink($generic_key_file);
touch($generic_cert_file);
touch($generic_key_file);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'sign') ],
[ $generic_cert_file, $generic_key_file ],
'directory with generic key/certificate only, signature operation'
);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'encrypt') ],
[ $generic_cert_file, $generic_key_file ],
'directory with generic key/certificate only, encryption operation'
);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'decrypt') ],
[ [ $generic_cert_file ], [ $generic_key_file ] ],
'directory with generic key/certificate only, decryption operation'
);
touch($signature_cert_file);
touch($signature_key_file);
touch($encryption_cert_file);
touch($encryption_key_file);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'sign') ],
[ $signature_cert_file, $signature_key_file ],
'directory with dedicated key/certificates, signature operation'
);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'encrypt') ],
[ $encryption_cert_file, $encryption_key_file ],
'directory with dedicated key/certificates, encryption operation'
);
is_deeply(
[ tools::smime_find_keys($cert_dir, 'decrypt') ],
[
[ $generic_cert_file, $encryption_cert_file, $signature_cert_file ],
[ $generic_key_file, $encryption_key_file, $signature_key_file ],
],
'directory with dedicated key/certificates, decryption operation'
);
ok(
!tools::smime_parse_cert({}),
'neither text nor file given',
);
ok(
!tools::smime_parse_cert({file => '/no/where'}),
'non-existing file',
);
ok(
!tools::smime_parse_cert({text => ''}),
'empty string',
);
my $cert_file = 't/pki/crt/rousse.pem';
#my $cert_string = Sympa::Tools::File::slurp_file($cert_file);
my $cert_string = do { local (@ARGV, $/) = $cert_file; <> };
my $cert_data = {
purpose => {
sign => 1,
enc => 1
},
subject => '/O=sympa developpers/OU=unit testing/CN=Guillaume Rousse/emailAddress=Guillaume.Rousse@sympa.org',
email => {
'guillaume.rousse@sympa.org' => 1
}
};
is_deeply(
tools::smime_parse_cert({
file => $cert_file,
#tmpdir => $ENV{TMP},
#openssl => 'openssl'
}),
$cert_data,
'user certificate file parsing'
);
is_deeply(
tools::smime_parse_cert({
text => $cert_string,
#tmpdir => $ENV{TMP},
#openssl => 'openssl'
}),
$cert_data,
'user certificate string parsing'
);
my $ca_cert_file = 't/pki/crt/ca.pem';
my $ca_cert_data = {
subject => '/O=sympa developpers/OU=unit testing/CN=Test CA/emailAddress=test@sympa.org',
email => {
'test@sympa.org' => 1
},
purpose => {
sign => '',
enc => ''
},
};
is_deeply(
tools::smime_parse_cert({
file => $ca_cert_file,
#tmpdir => $ENV{TMP},
#openssl => 'openssl'
}),
$ca_cert_data,
'CA certificate file parsing'
);
my $parser = MIME::Parser->new();
my $entity = $parser->parse_open('t/samples/signed.eml');
my $out_file = $cert_dir . '/out';
ok(
!tools::smime_extract_certs($entity->parts(0), $out_file, 'openssl'),
"certificate extraction from text part doesn't work"
);
ok(
tools::smime_extract_certs($entity->parts(1), $out_file, 'openssl'),
"certificate extraction from signature part does work"
);
ok(-f $out_file, 'certificate extraction file exists');
is_deeply(
tools::smime_parse_cert({
file => $out_file,
#tmpdir => $ENV{TMP},
#openssl => 'openssl'
}),
$cert_data,
'certificate extraction file has expected content'
);
sub touch {
my ($file) = @_;
open (my $fh, '>', $file) or die "Can't create file: $ERRNO";
close $fh;
}
[ req ]
default_bits = 2048
distinguished_name = req_dn
x509_extensions = req_extensions
prompt = no
[ req_dn ]
organizationName = sympa developpers
organizationalUnitName = unit testing
commonName = Test CA
emailAddress = test@sympa.org
[ req_extensions ]
basicConstraints = CA:true
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
keyUsage = cRLSign,keyCertSign
[ ca ]
default_ca = default_ca
[ default_ca ]
dir = .
certificate = $dir/crt/ca.pem
private_key = $dir/key/ca.pem
certs = $dir/crt # Where the issued certs are kept
serial = $dir/serial # The current serial number
database = $dir/index.txt # database index file.
new_certs_dir = $dir/new # default place for new certs.
crl_dir = $dir/crl # Where the issued crl are kept
default_days = 3650 # how long to certify for
default_crl_days = 30 # how long before next CRL
default_md = sha1 # which md to use.
preserve = no # keep passed DN ordering
x509_extensions = ca_extensions
policy = ca_policy
[ ca_policy ]
organizationName = match
organizationalUnitName = supplied
commonName = supplied
emailAddress = supplied
[ ca_extensions ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature,keyEncipherment
extendedKeyUsage = clientAuth,emailProtection
subjectAltName = email:copy
[ req ]
default_bits = 2048
encrypt_key = no
distinguished_name = req_dn
prompt = no
[ req_dn ]
countryName = FR
organizationName = sympa developpers
organizationalUnitName = unit testing
commonName = Guillaume Rousse
emailAddress = Guillaume.Rousse@sympa.org
-----BEGIN CERTIFICATE-----
MIIDqDCCApCgAwIBAgIJAJHHRyG9IqkqMA0GCSqGSIb3DQEBBQUAMGQxGjAYBgNV
BAoTEXN5bXBhIGRldmVsb3BwZXJzMRUwEwYDVQQLEwx1bml0IHRlc3RpbmcxEDAO
BgNVBAMTB1Rlc3QgQ0ExHTAbBgkqhkiG9w0BCQEWDnRlc3RAc3ltcGEub3JnMB4X
DTEzMDIyNTE3MDU0OFoXDTE4MDIyNDE3MDU0OFowZDEaMBgGA1UEChMRc3ltcGEg
ZGV2ZWxvcHBlcnMxFTATBgNVBAsTDHVuaXQgdGVzdGluZzEQMA4GA1UEAxMHVGVz
dCBDQTEdMBsGCSqGSIb3DQEJARYOdGVzdEBzeW1wYS5vcmcwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDLF19UT7X+rUGqadkB26AU4qSlw4DWZx/jS7Df
tGUrBtBT49HVnio4iJbIX04+WVpzTfEBvkB9weMNAOk9hHSYFz3FGGpSITvBE23l
jdtMKdg4zn6zzzrEAn5DslMdhUVIn5Aq9lp8mpMQcmQl7DyKlpns9NDtRDLauKV7
4GJokXd7cM+RB6/XlOfom/nUhBUXcn5jh9fDDpbb7/wC2zfYWnoUXAe59bB0Si3m
4fEeA3Ybdf/W4X1FO+ypRC9CxqhkVCYmp5gCNTfZI4Oc7vmqTRxyeI4EKXE++zMU
dtanQh24Qd9S2vd7VXMuytUDbLwjJTp3MQNjIfIUDtioo6T1AgMBAAGjXTBbMAwG
A1UdEwQFMAMBAf8wHQYDVR0OBBYEFP1qY5XJF3Qhx50OKY4we1aDVj8SMB8GA1Ud
IwQYMBaAFP1qY5XJF3Qhx50OKY4we1aDVj8SMAsGA1UdDwQEAwIBBjANBgkqhkiG
9w0BAQUFAAOCAQEAsD6dLNXoprRPChaPtRMU3/eWfK61oYosi0Kp6V43nNtHLPgy
wf4GLfdLi/vAyFm1KhYmuHjzAhWwECKmRc5kL8BJGQP6bQSkGyT/R1ktI+Ioa/qq
o5g2bvoOFEzP6ROhuiuuZP6dhz+fHQx35B2OhhT60ZntV60B+k5TeLnD2otDysB9
WptjEqnGAierITJsjtY47BNUPVDXX/40bdU7zwA/uIEQ3SsW2Ig8PrLrZJBAgQa3
5yHKJRAoayP3nn/ZqvJWKk44y7d0gsf2/mD8xuBFvPM+4QykuR6tQiWjSpd9ntK5
OEgx5+ESJohe5yCGofXFAHtadPKThZQ1Yp8eRw==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha1WithRSAEncryption
Issuer: O=sympa developpers, OU=unit testing, CN=Test CA/emailAddress=test@sympa.org
Validity
Not Before: Feb 25 17:11:04 2013 GMT
Not After : Feb 23 17:11:04 2023 GMT
Subject: O=sympa developpers, OU=unit testing, CN=Guillaume Rousse/emailAddress=Guillaume.Rousse@sympa.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:e0:86:95:6d:51:e5:f8:2f:af:eb:95:81:3f:68:
46:c6:9b:32:65:e6:ba:aa:24:a3:e5:08:63:b9:85:
0c:02:17:ec:1b:b3:53:41:c2:ac:cc:8a:63:0d:b6:
c0:2b:dd:ec:75:17:a0:97:1a:c8:3b:2d:aa:0b:78:
ff:5a:cf:0a:63:16:e7:aa:8b:54:95:3d:18:aa:93:
f3:34:34:d8:c0:41:09:66:e4:6e:06:87:3e:39:aa:
9b:f2:83:fd:22:ea:c1:67:56:0b:d2:68:9e:6f:e9:
72:eb:a4:14:7f:0e:e3:b3:be:78:bb:d3:57:b6:4e:
a3:bf:ae:0d:05:43:3b:63:39:33:46:29:1f:8b:81:
f8:84:cf:9e:f3:51:8a:49:90:6f:95:d3:0f:be:e1:
58:f1:b5:67:96:e1:2f:51:85:e1:35:e3:17:08:c2:
c4:bf:11:9a:0e:05:4c:ae:47:d5:01:31:b9:b0:38:
5a:99:6d:b9:dc:97:18:58:e0:e7:f0:66:43:b7:b9:
c1:d4:2e:b9:09:a1:d7:5d:37:7f:a8:ab:97:8b:0e:
d9:0b:b0:5a:13:f7:4b:71:c1:53:b6:0f:b4:a2:b2:
aa:4c:ff:2b:36:bb:0d:95:5f:54:92:f7:91:fe:44:
c7:c9:00:6e:77:be:a8:41:53:65:88:5c:c2:98:8b:
89:19
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
40:F6:F1:6B:F1:6B:A9:31:19:86:F3:DE:4A:BE:C3:3E:B4:E9:B2:0C
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection
X509v3 Subject Alternative Name:
email:Guillaume.Rousse@sympa.org
Signature Algorithm: sha1WithRSAEncryption
22:c6:90:36:1e:03:a8:71:96:3d:d0:ec:7a:7e:f6:f4:cd:62:
27:5d:2f:9d:38:41:27:25:43:54:0b:89:57:2b:46:6b:13:8f:
4b:0b:1f:11:86:ee:fd:b7:56:3b:3a:85:c2:18:2c:12:dd:00:
0f:66:0a:6f:65:9b:8d:11:49:92:16:ab:50:ff:66:45:d7:07:
e7:be:33:d7:f4:a3:d9:90:a7:1a:69:3c:00:e1:6d:9b:a0:b5:
16:74:dd:8f:01:92:38:0e:88:d1:50:09:3b:74:9f:6c:d0:52:
00:09:75:6f:92:26:9c:d2:b9:81:22:b4:46:7d:47:42:a3:09:
44:2a:96:d6:3e:7e:94:ee:8f:2d:5e:b0:38:c0:c8:6a:e2:c4:
0b:c3:53:b5:b8:5f:18:2b:4f:99:87:44:03:27:48:98:05:ea:
25:99:05:7b:f1:b5:36:c8:b8:cd:89:bb:18:ff:d9:4b:6f:67:
20:4b:d4:03:e6:0e:55:df:f5:c7:85:9d:39:b4:32:7d:b8:6d:
cb:ee:61:c3:18:8f:66:30:db:c0:49:f2:e2:03:5a:32:a3:23:
a6:8d:ec:a3:4f:03:a4:06:80:f4:f4:2a:f0:44:8c:05:02:d0:
d4:0a:08:9d:94:3f:e2:35:ce:d6:6f:f4:cd:40:40:d3:dd:2e:
27:39:e5:f4
-----BEGIN CERTIFICATE-----
MIID1zCCAr+gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMRowGAYDVQQKExFzeW1w
YSBkZXZlbG9wcGVyczEVMBMGA1UECxMMdW5pdCB0ZXN0aW5nMRAwDgYDVQQDEwdU
ZXN0IENBMR0wGwYJKoZIhvcNAQkBFg50ZXN0QHN5bXBhLm9yZzAeFw0xMzAyMjUx
NzExMDRaFw0yMzAyMjMxNzExMDRaMHkxGjAYBgNVBAoTEXN5bXBhIGRldmVsb3Bw
ZXJzMRUwEwYDVQQLEwx1bml0IHRlc3RpbmcxGTAXBgNVBAMTEEd1aWxsYXVtZSBS
b3Vzc2UxKTAnBgkqhkiG9w0BCQEWGkd1aWxsYXVtZS5Sb3Vzc2VAc3ltcGEub3Jn
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4IaVbVHl+C+v65WBP2hG
xpsyZea6qiSj5QhjuYUMAhfsG7NTQcKszIpjDbbAK93sdReglxrIOy2qC3j/Ws8K
YxbnqotUlT0YqpPzNDTYwEEJZuRuBoc+Oaqb8oP9IurBZ1YL0mieb+ly66QUfw7j
s754u9NXtk6jv64NBUM7YzkzRikfi4H4hM+e81GKSZBvldMPvuFY8bVnluEvUYXh
NeMXCMLEvxGaDgVMrkfVATG5sDhamW253JcYWODn8GZDt7nB1C65CaHXXTd/qKuX
iw7ZC7BaE/dLccFTtg+0orKqTP8rNrsNlV9UkveR/kTHyQBud76oQVNliFzCmIuJ
GQIDAQABo38wfTAJBgNVHRMEAjAAMB0GA1UdDgQWBBRA9vFr8WupMRmG895KvsM+
tOmyDDALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwME
MCUGA1UdEQQeMByBGkd1aWxsYXVtZS5Sb3Vzc2VAc3ltcGEub3JnMA0GCSqGSIb3
DQEBBQUAA4IBAQAixpA2HgOocZY90Ox6fvb0zWInXS+dOEEnJUNUC4lXK0ZrE49L
Cx8Rhu79t1Y7OoXCGCwS3QAPZgpvZZuNEUmSFqtQ/2ZF1wfnvjPX9KPZkKcaaTwA
4W2boLUWdN2PAZI4DojRUAk7dJ9s0FIACXVvkiac0rmBIrRGfUdCowlEKpbWPn6U
7o8tXrA4wMhq4sQLw1O1uF8YK0+Zh0QDJ0iYBeolmQV78bU2yLjNibsY/9lLb2cg
S9QD5g5V3/XHhZ05tDJ9uG3L7mHDGI9mMNvASfLiA1oyoyOmjeyjTwOkBoD09Crw
RIwFAtDUCgidlD/iNc7Wb/TNQEDT3S4nOeX0
-----END CERTIFICATE-----
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIBfMPvyyYYDECAggA
MBQGCCqGSIb3DQMHBAhppyWRoLfeBASCBMiymOC7q3SDcPToVKYWryv5nuzBVBXL
AtfoGEB5roWVl34UZL5MTFCViKMjIg4mqBAMiIt6sOWyBN6U9I6/BcWN7TrNjpXg
YlJZYEWiDCaJfL37karPIrP11p5N1PbiMdb3SRbHWuYNrAbf0PiQN0Pfgz/Uj5Qf
sjgApIAK2FpGp60v7SXP0suX4C2RrZbHGYr9WHKZRRVqYheepzeo5k0blf1XKMLi
G742MP3CNtalAXbn/ihbg7I7/aFrUF+MNxcBN9C8YMmz3uCGxjUbnvI7QmUYOz5V
KKUuSkmXFpjsEMHtA9z46YTbV9kni+e15eVdhrYCHfm420pfgcRM9R5bdtdtDaFi
ykZe+b+bWJ9yArw998sdKLBhOuFmMR/aZhBYbVbz16NLMBXv5IAwNaSVHWGRs2SH
+glPVq/sCX8jScRRrvzf6QkRbuV83/bJs559kwAQyPpD8S15VN9LjUgRgzAKYShx
dNyxT86Pl6l4t9ZvZCCiLLKLZiYD/VjoOI1w8f/9fmZxMEnLYMsAkcAIrqLBTnqy
2QaJHQZrh7dYUsYYx0TEoENhl33GGVQU0SUJ9SID8BGZUFOAcNZWQyK5G/w4mZu2
Tfg76Vcn+QnVWdyX7t6A/FhFc+E4kEpjwBHCl6245X2JQOJa0CoTdaUyO+VLwbg7
SH1JDl+5c8cetbNlX7pOtmTWzHw+3Wo1FF1LSWryTBdPscVAcBaqzTiEB/GCLSTH
CmliGliKcMeQhE+YBsa719BfvGQbcRnV2KkenlpZYKWmWEDlNACYxLz2E8RptUjF
ClafHYUcgoI7qimG6GethSu7gNSa6/D56iC/a+8DoaFqscejOnzVhMj/UxC3AFH4
T5QdFELMH969Vum8jahIdSZk2iPRn7XFNv6qzbRgpESRMsFMO5o5OPzL7883/WuD
5+knx8XRatCaiCluG1orrS9PjG7lInOH58brttQuB0FiBHvYK/vWTpBx/4N0HqwC
gqiEVMqVcKyvuX2OstF/D1nT+2tD+lu8ndcnrydyZCA67g73J4hPfqa+6afi4aLo
jGOYPp3LnjEiUe0ywDEthplE1AOp7U/X7d0kYQHDUzM+X/AgT9izb9DUK+plYaLN
5nsGPlbFuAkvA3tM6jM7tmwKBIwHM2aNxmDNYeQf02yTNAUuJBHmWTtOUFgIcW1Q
4YT3wXfsltGpGrryCT6R1P8Z5czkUnEENk4PNHQpIhI3bkYpLsmvGsyx2X/6ZfWO
F0Qqpo71egUJ5cXnFUEYnRKXqwpJBhGV8TkRjuvObqJ11IN9tyOZLPViavyTCpRB
w/i8mz2mXkN4nqPD7vtm2+W83v4hjBg8h0rwPypOJyiNgotysK0TtBFiPsn2UmKJ
NybYQ+/5Qs3eFEPxqtLEaG4YbUVsNWbvvl5xvfxctqLU1jeDrYuRHWW+fdZzrZzU
Av4UMfSi3nKE0g8KIbO44RYokCtKnOvtFGIyeLKTtmLqzdW+S75olZW++R9XPOCj
iXZ8d2rl/Ohuj5WbdFxgmEkmfXC8uO3gV4FF+PryvlMHf+z1n5DNQpAZFQtUaVTP
SermHJHdSGChtIJxWe4QQUXNYmDdKECLv4Apxp5+fzA8KXlMt6JoXVKg9RoI2AbE
P7I=
-----END ENCRYPTED PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDghpVtUeX4L6/r
lYE/aEbGmzJl5rqqJKPlCGO5hQwCF+wbs1NBwqzMimMNtsAr3ex1F6CXGsg7LaoL
eP9azwpjFueqi1SVPRiqk/M0NNjAQQlm5G4Ghz45qpvyg/0i6sFnVgvSaJ5v6XLr
pBR/DuOzvni701e2TqO/rg0FQztjOTNGKR+LgfiEz57zUYpJkG+V0w++4VjxtWeW
4S9RheE14xcIwsS/EZoOBUyuR9UBMbmwOFqZbbnclxhY4OfwZkO3ucHULrkJoddd
N3+oq5eLDtkLsFoT90txwVO2D7SisqpM/ys2uw2VX1SS95H+RMfJAG53vqhBU2WI
XMKYi4kZAgMBAAECggEBAMkA019l9VpF3tkqI+ZPBSWiJPFDKRNO8AcHhre8W264
WeDGnp99l9MZhOnvFIVxDNIaz+LW0DDihZv1u61hMuxYwhdU2uksJBv5jb3MHcun
rbIWiEWB5/waN7hZ31HWFkTbrIO2szh/Jym737mL69+rgkysPJbyOfhM6k0uzkjZ
a9Bfj0JOC9gJnb28pc5AHA51DwxpDYgh1I/39OOLk7Ng+H4WK9kwadrhFF8mrL32
Bbl0GqCYsnFQyyPgkBOcbffsN01jb2W0w5tXRifphe5pU7ZJqAfT96DG4U2wLmwM
oAk4czjKaQHeDzZR2yhrVf4LN6tuOIUoRMnK5eMsJDECgYEA+tTRxoieYGDwKmhi
B7zDYTen+/6nOBVO/IswDom3QHkUZdRNXPHpyD8Zx4j/NaHxwK5L677YhnSMTzSq
mpRIyqc7mH57rjdVPuNBlM5oXDTSYOF4VW1zf+cUKYJZiZlc3M41ihPzpmgg8i+4
wtLUj8j4i/LQs5y6AI4ymlYzI40CgYEA5Sb/V1zPrfKWVNiXl1d1uRoS6k95ZqoY
BhjPZIKRaxGnSaVRNA4me/RV8LNIffsw/8k5GbfZc5uwjOYLf48aRIhvZj52Jhdx
pcMiSAoAx3lEpC8HqrmMMCgPFyHABR5GRfeP4QkZGkSLInn/7ouJxvm87KKMVMCF
XfguRNar8r0CgYAfQAaGqpy4uzsQvYKBHkZlRU7beWWR+i2mDx1Eomm/UZZ1/VZK
HyWWOi5XCr1pDC0XaV+yFkvZrImSkKg0rAbJoL4vCIsWMHShaiTQikq8OiR/x3d7
hTBfngWICmJnX0EPjW1kL4oqkEySf9mQBD5RT6OPpAfWaM9PpGevjM/APQKBgAie
c+I0UndndXIRh3ogxwPEUEvR224aHbc0/a/5HUEas+EYP7qmgZoN8aGRDLv4U7p7
NhOaj6pCg9x41pvgpQtI2m/ND6KVJSgn88Uj4y2diRBn2HD6c6RoDVFAarmGjvwY
uKetMO2FAHq2fgLZ6r+6Kvn3jzGs4BdNu2fJb0Q9AoGATRAI7HZJmrCwfcK6kD3f
TuGzu+kMFLbvkuCU0ZvuHRUkxhStc3VvLQC1uhmdunGlspgI4YL/dSW5glueIpdc
WdHb7JU14qWR2U1PrOxf/jyRGeP1AzIp1FDJQ+lCRO3V6HvtnxHogIK+UYRCpdmm
77PQPljQQR70aPs+Z7ZeaDw=
-----END PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,D12B252EC0496FB14ABFC75E2C15DF6B
FOCm/hDoHP7dobhJGEeVJ7i66dKnZRczl5csTgSfyzYtw/C0eDzEFV5bxYNrjb4D
wyohw1J+h1yWe+JI5i6ZI5yJtDjNRTUvqhVrnAZZf3FKPmWqWG9dO466eQbg5g2a
xHdYLn6mSNsWf+rm+HXyujKkW8fmOvdUzULb096J9NBx8nFG1yhDmfQw1K1dQrQP
BQCA8VFQICtCBu8neOmy9mt3i6BZMkTurBi7Kl9uNr6phriFUEYKpnQt2OelKAQu
lZYUf65WyOJY4GQa24cMAMM/BSidUSL+9h3clEfT8MkCe5UllSE4XjlCyg5HY5cK
Tw0haPGN2twqPHZDdp+C860SlmXUO/Fsv6HRYRM2j9uGzLrGWonY5i7TvRnrMaMP
d6EudH8eFzseZaFwB3k4eC7vFLB07XNNjPpAInQi9awP2x4++P/CtX2GkstXUm4Y
Elc34MeZ5Ot5icNHBF2XLgC21lcfoXd9StUssZxsLEBooB+XsUtO7vdgRxWdUK7x
N3kNqRzdeE94iX5aCYQThOcTKrRES0C4jT4AAqEOiySJSVgTYU59CMg7UAcAw17B
b2jwKLQ6fVcHK2XdA4uKjRCm6Lb4IbJqCmBckiiOiHW5eG0RASDRXxEhhtJcrLGy
xnnKBkiR4UUrV+Y0ajzc57GmifKxvpqHcNp0oZKm97oEH5zrv39hFun+BYf9zha/
4IWwCZw10eDjDx0hyDWPp+kB2Qe35iBbAfKZRJSdEIgIbqFnVa5FNWPyveqYcLNg
4DplVK+UsTDhzjf3QcPtuu5FHSBZ0lM0gnRxRwFnH3ApDMnJ3soPT9+jZPg0DHH3
Ns9sXaDnMrjWwehsfIvVv7pVsYuO6yyCJRQgX5AgrWAW/cMfxPkhJ7/EXP7XL8e8
wSdybxEJzxDJmCyKx36mImiHjXJ9l/p6ccyfykvmO5deLrt677u9NDIORR23JVrs
uej9oT8+NOMD5Nj8uGEkLp1G2HB8vv2xJDjVFamxfS/cP0wkl8b92g/tzYLFt5Vm
6PjnSVAdx1EKJGak8s7VtTfocyiCPwSrj9lMiPNZbgFylfwDS9v8Op7qJLs883M8
Rq28KYYZqc05eE7ZNkCkRWLi4C+BaEMvSiIYz9IQTAMSPjejwAZEnI0yIK+MCQMo
Sl/vSk0rX00XERnlLD9pg1fR1DLL43Oerh2qmBA3HHTEkKXCky0Boc44LpCuAMvG
7+N8QsRvkLvPQ1IQMNpMQmQSLQ5KgxJu2+qxSHaN9OUwSzj/oXksGPSJeyIsxq3k
lRkbfV/lG8HDCihnLNGWtEZloM5SRTNmTZegF/T6skAAC82K9O+EB8CbpDptRSoX
0zFB9cB44Ds9F6wV+EAX+2ciKZ1DcSitwf5g+sDVhAQrGJN5z/yX1qQGvqVvgRzX
52QfUej7RNd2ayBwO4AKJXQvtXMxRDI3OHybuL4wPA5/LE7kodObnSeMeuPh+dxF
j1+qOcHhjajM6sJgptpsFx37XOk5seXe7Y7EPSUwlyt2YCWRp9htustXs9i5X8fC
nniVDuakRyIaBg7gjXhEwdn1T1nmWGYVw44X8xpR2p//48cklZPTndSkZhLPxZju
-----END RSA PRIVATE KEY-----
FCC: imap://Guillaume.Rousse@zimbra.inria.fr/Sent
X-Identity-Key: id10
X-Account-Key: account5
Message-ID: <512B9BB4.2010401@sympa.org>
Date: Mon, 25 Feb 2013 18:13:24 +0100
From: Guillaume Rousse <Guillaume.Rousse@sympa.org>
X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3
MIME-Version: 1.0
To: sympa-developpers@listes.renater.fr
Subject: signed test message
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms080108070002080103000901"
Ceci est un message signé cryptographiquement au format MIME.
--------------ms080108070002080103000901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
This is a signed test message.
--------------ms080108070002080103000901
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Signature cryptographique S/MIME
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIID2zCC
A9cwggK/oAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwZDEaMBgGA1UEChMRc3ltcGEgZGV2ZWxv
cHBlcnMxFTATBgNVBAsTDHVuaXQgdGVzdGluZzEQMA4GA1UEAxMHVGVzdCBDQTEdMBsGCSqG
SIb3DQEJARYOdGVzdEBzeW1wYS5vcmcwHhcNMTMwMjI1MTcxMTA0WhcNMjMwMjIzMTcxMTA0
WjB5MRowGAYDVQQKExFzeW1wYSBkZXZlbG9wcGVyczEVMBMGA1UECxMMdW5pdCB0ZXN0aW5n
MRkwFwYDVQQDExBHdWlsbGF1bWUgUm91c3NlMSkwJwYJKoZIhvcNAQkBFhpHdWlsbGF1bWUu
Um91c3NlQHN5bXBhLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOCGlW1R
5fgvr+uVgT9oRsabMmXmuqoko+UIY7mFDAIX7BuzU0HCrMyKYw22wCvd7HUXoJcayDstqgt4
/1rPCmMW56qLVJU9GKqT8zQ02MBBCWbkbgaHPjmqm/KD/SLqwWdWC9Jonm/pcuukFH8O47O+
eLvTV7ZOo7+uDQVDO2M5M0YpH4uB+ITPnvNRikmQb5XTD77hWPG1Z5bhL1GF4TXjFwjCxL8R
mg4FTK5H1QExubA4WpltudyXGFjg5/BmQ7e5wdQuuQmh1103f6irl4sO2QuwWhP3S3HBU7YP
tKKyqkz/Kza7DZVfVJL3kf5Ex8kAbne+qEFTZYhcwpiLiRkCAwEAAaN/MH0wCQYDVR0TBAIw
ADAdBgNVHQ4EFgQUQPbxa/FrqTEZhvPeSr7DPrTpsgwwCwYDVR0PBAQDAgWgMB0GA1UdJQQW
MBQGCCsGAQUFBwMCBggrBgEFBQcDBDAlBgNVHREEHjAcgRpHdWlsbGF1bWUuUm91c3NlQHN5
bXBhLm9yZzANBgkqhkiG9w0BAQUFAAOCAQEAIsaQNh4DqHGWPdDsen729M1iJ10vnThBJyVD
VAuJVytGaxOPSwsfEYbu/bdWOzqFwhgsEt0AD2YKb2WbjRFJkharUP9mRdcH574z1/Sj2ZCn
Gmk8AOFtm6C1FnTdjwGSOA6I0VAJO3SfbNBSAAl1b5ImnNK5gSK0Rn1HQqMJRCqW1j5+lO6P
LV6wOMDIauLEC8NTtbhfGCtPmYdEAydImAXqJZkFe/G1Nsi4zYm7GP/ZS29nIEvUA+YOVd/1
x4WdObQyfbhty+5hwxiPZjDbwEny4gNaMqMjpo3so08DpAaA9PQq8ESMBQLQ1AoInZQ/4jXO
1m/0zUBA090uJznl9DGCA1UwggNRAgEBMGkwZDEaMBgGA1UEChMRc3ltcGEgZGV2ZWxvcHBl
cnMxFTATBgNVBAsTDHVuaXQgdGVzdGluZzEQMA4GA1UEAxMHVGVzdCBDQTEdMBsGCSqGSIb3
DQEJARYOdGVzdEBzeW1wYS5vcmcCAQEwCQYFKw4DAhoFAKCCAcEwGAYJKoZIhvcNAQkDMQsG
CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwMjI1MTcxMzI0WjAjBgkqhkiG9w0BCQQx
FgQUaIJask4G8AC9jICHXhf9U3q8c0AwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASow
CwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIB
QDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDB4BgkrBgEEAYI3EAQxazBpMGQxGjAYBgNVBAoT
EXN5bXBhIGRldmVsb3BwZXJzMRUwEwYDVQQLEwx1bml0IHRlc3RpbmcxEDAOBgNVBAMTB1Rl
c3QgQ0ExHTAbBgkqhkiG9w0BCQEWDnRlc3RAc3ltcGEub3JnAgEBMHoGCyqGSIb3DQEJEAIL
MWugaTBkMRowGAYDVQQKExFzeW1wYSBkZXZlbG9wcGVyczEVMBMGA1UECxMMdW5pdCB0ZXN0
aW5nMRAwDgYDVQQDEwdUZXN0IENBMR0wGwYJKoZIhvcNAQkBFg50ZXN0QHN5bXBhLm9yZwIB
ATANBgkqhkiG9w0BAQEFAASCAQCePV7iSJ+QYKvhvQjwfbQCoAW+H5obWGbyu++mpqhIBL3K
8bnpBmJODGdeCs/U0WucrUwAJWWnMqCkrvv2hjf/FJz+Qi4zGAc9JPa1HDHdd6hnXA1W3shZ
4yL+0Yb9mZygENo4zlVOOFPAIT+xLFSF2RJ5L6ef35YZdJqJB9hezc3AHsGcKxE6JhUGt36v
jmDzpSyF++An84HI+PkddusqDw2w+1UWSWYTcnz06w692k/BkKMof8yVqYJCHlJXR6wXK7wN
WYDA+cifkLPvHEGP5we3UJAHhg0v++iluwajWffTuPc2LpwFrUyBAKYkA82NaTerTw6vQdIw
/i2cOw3ZAAAAAAAA
--------------ms080108070002080103000901--
FCC: imap://Guillaume.Rousse@zimbra.inria.fr/Sent
X-Identity-Key: id10
X-Account-Key: account5
Message-ID: <512B8CFE.3060809@sympa.org>
Date: Mon, 25 Feb 2013 17:10:38 +0100
From: Guillaume Rousse <Guillaume.Rousse@sympa.org>
X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3
MIME-Version: 1.0
To: sympa-developpers@listes.renater.fr
Subject: unsigned test message
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
This is an unsigned test message.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment