diff --git a/.travis.yml b/.travis.yml index f53eec0c..90b42124 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,22 +9,21 @@ matrix: - python: "3.4" fast_finish: true -# command to install dependencies, e.g. pip install -r requirements.txt --use-mirrors -install: - - pip install stomp.py - - pip install python-daemon - - pip install python-ldap - - pip install dirq - - pip install unittest2 - - pip install coveralls +# Route build to container-based infrastructure +sudo: false +# Cache the dependencies installed by pip +cache: pip + +# Install defaults to "pip install -r requirements.txt" before_script: - export TMPDIR=$PWD/tmp - mkdir $TMPDIR -# command to run tests, e.g. python setup.py test -script: - export PYTHONPATH=$PYTHONPATH:`pwd -P` - cd test + +# Command to run tests +script: - coverage run --source=ssm,bin -m unittest2 discover --buffer after_success: diff --git a/CHANGELOG b/CHANGELOG index caa44130..ebb8159d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,8 @@ Changelog for ssm ================= + * Tue Jan 12 2016 Adrian Coveney - 2.1.7-1 + - Added a delay when receiver is reconnecting to improve reliability. + * Mon Mar 02 2014 Adrian Coveney - 2.1.6-1 - Improved the log output for SSM receivers so that there are fewer trivial entries and so it's more useful in tracking messages on the filesystem. diff --git a/apel-ssm.spec b/apel-ssm.spec index 860bc9ed..dc8cac2a 100644 --- a/apel-ssm.spec +++ b/apel-ssm.spec @@ -4,7 +4,7 @@ %endif Name: apel-ssm -Version: 2.1.6 +Version: 2.1.7 %define releasenumber 1 Release: %{releasenumber}%{?dist} Summary: Secure stomp messenger @@ -92,6 +92,9 @@ rm -rf $RPM_BUILD_ROOT %doc %_defaultdocdir/%{name} %changelog + * Tue Jan 12 2016 Adrian Coveney - 2.1.7-1 + - Added a delay when receiver is reconnecting to improve reliability. + * Mon Mar 02 2014 Adrian Coveney - 2.1.6-1 - Improved the log output for SSM receivers so that there are fewer trivial entries and so it's more useful in tracking messages on the filesystem. diff --git a/bin/receiver.py b/bin/receiver.py index b1a457df..e9f63db8 100644 --- a/bin/receiver.py +++ b/bin/receiver.py @@ -194,6 +194,8 @@ def main(): log.error('Connection lost.') ssm.shutdown() dc.close() + log.info("Waiting for 10 minutes before restarting...") + time.sleep(10 * 60) log.info('Restarting SSM.') dc.open() ssm.startup() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..c66e2f50 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +stomp.py<=3.1.6 +python-daemon +python-ldap +dirq +# Dependencies for testing +unittest2 +coveralls \ No newline at end of file diff --git a/ssm/__init__.py b/ssm/__init__.py index 44c2f16b..ae5b2af5 100644 --- a/ssm/__init__.py +++ b/ssm/__init__.py @@ -19,7 +19,7 @@ import logging import sys -__version__ = (2, 1, 6) +__version__ = (2, 1, 7) LOG_BREAK = '========================================' diff --git a/test/test_crypto.py b/test/test_crypto.py index 7b4202f2..749e9a92 100644 --- a/test/test_crypto.py +++ b/test/test_crypto.py @@ -265,41 +265,41 @@ def test_verify_cert(self): # Test data below. ################################################################ -# openssl req -x509 -nodes -days 365 -subj '/C=UK/O=STFC/OU=SC/CN=adrian coveney' -newkey rsa:1024 -keyout test.key -out test.cert -# Expires 2015-10-16 -TEST_CERT_DN = '/C=UK/O=STFC/OU=SC/CN=adrian coveney' +# openssl req -x509 -nodes -days 366 -subj '/C=UK/O=STFC/OU=SC/CN=Test Cert' -newkey rsa:1024 -keyout test.key -out test.cert +# Expires 2016-11-26 +TEST_CERT_DN = '/C=UK/O=STFC/OU=SC/CN=Test Cert' TEST_CERT = '''-----BEGIN CERTIFICATE----- -MIICUjCCAbugAwIBAgIJAOZv73BJdvtxMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNV -BAYTAlVLMQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzEXMBUGA1UEAwwOYWRy -aWFuIGNvdmVuZXkwHhcNMTQxMDE2MDkxMDU4WhcNMTUxMDE2MDkxMDU4WjBCMQsw -CQYDVQQGEwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxFzAVBgNVBAMM -DmFkcmlhbiBjb3ZlbmV5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqa3Xu -OEVaEd4j6jQnvRLYCZ1fzKDQbsN6Meo1h8xbUrcEFJoN47kgclIw4KkqCnyiBUp+ -fYHWlulx/f1WI2BD7PxslGpqb9YOsWqQhG2tW/s8AolDI4KthE9V7oA4N1ownl+J -ihfJrykBoK7N8ZiKQD1gcx+N1bbbI9Ev2AvuBwIDAQABo1AwTjAdBgNVHQ4EFgQU -3NWKbrFpY8j4xLUH7dFJYsP6P9wwHwYDVR0jBBgwFoAU3NWKbrFpY8j4xLUH7dFJ -YsP6P9wwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBCrLVWedMqqUWI -MDuiqKkAXD9Xb03SQKJKJQ2QyN+vP7s+wDXl0rLx5eEecvGwMrN+h8xo1M8mQruk -7kZrOEUCfTvKqbyeDQHxo8I/Sr52VGbEjKYgLgnIKEneshjK1RMxKgwQqbxE0miZ -MmEcxCQ0YEVqvq1CExWOYmKNMib3pg== +MIICSDCCAbGgAwIBAgIJAO90ilCRmLiVMA0GCSqGSIb3DQEBBQUAMD0xCzAJBgNV +BAYTAlVLMQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzESMBAGA1UEAwwJVGVz +dCBDZXJ0MB4XDTE1MTEyNjE2MDYzNloXDTE2MTEyNjE2MDYzNlowPTELMAkGA1UE +BhMCVUsxDTALBgNVBAoMBFNURkMxCzAJBgNVBAsMAlNDMRIwEAYDVQQDDAlUZXN0 +IENlcnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMAqQkxmeXPiG4ytez29 +Vv+XoPDXw9evCfULEqoMd8meaAbiizAZuQT8zJ54H04Pob4sSiyZRrRHhGQ0iJUc +xTmRiFLYZPicA1V5GFmSPFmBPuHTi7Vn7syjxYXWmFHbKyEbVb3NIogMf5Lpr3oS +DV6Uune1Q1ZUvbFclEjlhJD1AgMBAAGjUDBOMB0GA1UdDgQWBBSkmf0/0tdpomsM +qeZmi9BkxDYpcTAfBgNVHSMEGDAWgBSkmf0/0tdpomsMqeZmi9BkxDYpcTAMBgNV +HRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFQ1mjNmsW5adnJmJd8OZR0om5eM +BMbJ+ONFZ64ZabHOfOviYNjf3eew8qzvEllb0orzeFZBDUnrzwrSqCW+3crM8ZS1 +KYYO16yW/YXBVC+f5ilfOMf9M/1E2w+2gfTw0/J9FMIG1AqQfeD978e7UJ6+IIG3 +CKDg/8NpsXhtw3e0 -----END CERTIFICATE-----''' TEST_KEY = '''-----BEGIN PRIVATE KEY----- -MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKprde44RVoR3iPq -NCe9EtgJnV/MoNBuw3ox6jWHzFtStwQUmg3juSByUjDgqSoKfKIFSn59gdaW6XH9 -/VYjYEPs/GyUampv1g6xapCEba1b+zwCiUMjgq2ET1XugDg3WjCeX4mKF8mvKQGg -rs3xmIpAPWBzH43Vttsj0S/YC+4HAgMBAAECgYBypQgY0dIV3Z9LGessMI3Ut+Me -51Hn5huqwJmGmWxooyRrolBgt6l6om2YZAppNdTSSizrGxOVgMBa5zreD75Z2q48 -PU44RQVgvfwWBqEz8U/SeFBjVi6eTeQtKYimJmmLNhYm9uzaZEWfx3taDwSgMKEV -BTf6KoRX0otur2xbwQJBANOYr/fF3xhL6No2WLU7QjzMVmBr2PbPYrj03rgF+erJ -w0PU02hU7bcfrPQr0WpDyshpag0XQO/XARdd/1N521UCQQDOLrG4r5FQxW8rcNyb -dAp8ZD/AG02dViD1+3+6Fx2ONBHv7OIAA7MJpFHDoHmQrPdGBgFq7WhuCRaJS6a5 -FzvrAkEAzl2y+Tbtf3fBUNkCKTbzQfKUJ5PnVccrZHHFqbqCZL+EhmpSCQYTla75 -8mWt5zLY2h8dREkylvedY9nUA+jrxQJBAMOTu3Vq5LbvcTKNzlWPT1sLZQV/YLI8 -PuvWcyQ8RQbdEZ663u4QlEYzHnQoxuebirtbewDIzmSCLmRx5GZySZ0CQHGdTWwf -2BUpz1Y7hkbt2yP7+UUtRnAWvMBm/1J/HGdjU+lPlUQgp7aDU48q7ZzdrGQBMKyI -GDG32bRsY7byBfE= +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMAqQkxmeXPiG4yt +ez29Vv+XoPDXw9evCfULEqoMd8meaAbiizAZuQT8zJ54H04Pob4sSiyZRrRHhGQ0 +iJUcxTmRiFLYZPicA1V5GFmSPFmBPuHTi7Vn7syjxYXWmFHbKyEbVb3NIogMf5Lp +r3oSDV6Uune1Q1ZUvbFclEjlhJD1AgMBAAECgYBCuKmKY246GUDdiIKo/ivN1PTx +iskaA1Gevnh9iJSy8YhHE7OmQNgn7iqRvz2HWhAbur8KWzHceJR0QnVF6NZlOoVf +34Qh8hvGenk4BrNrt41kwtfClLa6Vdhz3y3rEa8dyDI9LwT6iR8suvEoWCiL4dWk +46bEkQgklT95NLUbpQJBAPpoWWqeGT1Cn3dkUDWOxtVsedFtvy5nFvdCDGgTNPwx +5wPjp/UwHXFbG1ypBd9NYWpzpLjkZSb+V1jjjCpR6VcCQQDEdOu0Z/ABrrFS4J2k +PGm4cYbR8uE3EvcK82UvdAsWulJGslHzaxSkPGXi+oOeapON9ZyNvVF191wdI0su +IIyTAkA5yGiRzMfANiZ8M366zSaeyzhVFoEeYRWQmwIn5f69D3rij98LGj5BESgA +OtSrEb0gBm2FaNbap6haT6/heCNjAkAYyBLvh+jrnWi65qCcFg7T+GYkV7n3I4pM +NFXAPagkbs5wIpBZ31kUOpYzopw1wIXqc2ATNR1wfwp8lnYmVG7HAkEApODeLt2Z +B63LXZyg4TTAEjpBKKnhszT7vDWfJG+GjurGQY+maCGBNeUj+aAyfJ/0pMGsz89P +9185znbe5undog== -----END PRIVATE KEY-----''' MSG = 'This is some test data.' @@ -310,67 +310,66 @@ def test_verify_cert(self): Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m" Content-Transfer-Encoding: base64 -MIIBTQYJKoZIhvcNAQcDoIIBPjCCAToCAQAxgekwgeYCAQAwTzBCMQswCQYDVQQG -EwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxFzAVBgNVBAMMDmFkcmlh -biBjb3ZlbmV5AgkA5m/vcEl2+3EwDQYJKoZIhvcNAQEBBQAEgYB9xvm+Nvpfu8zD -xIcV7BC0P6wpZYqy+DhW/10JN7Eq5Wsm4EZYRagbDSP2+WvNQ+tffLtmlH1lsFFe -3OViEBZOwSh3pXL6sFteftrZJJDaLnRh0mDjOZ6A/JhBZDbK/hzfyfrI3VSnJkY2 -cC8GjWTaU7MASixEqTQC8AoP8NFW+DBJBgkqhkiG9w0BBwEwGgYIKoZIhvcNAwIw -DgICAKAECCntgjVbfq2WgCDZLJYHU7+qvZ0tcqx8dQkRaHJj7v99RUGX2PuaIglQ -2g== +MIIBSAYJKoZIhvcNAQcDoIIBOTCCATUCAQAxgeQwgeECAQAwSjA9MQswCQYDVQQG +EwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxEjAQBgNVBAMMCVRlc3Qg +Q2VydAIJAO90ilCRmLiVMA0GCSqGSIb3DQEBAQUABIGAk1+nwYVXhLe8XmbksVo6 +ZeQzdKMJV9pwP32eAiyncIPjm0GpyHpEvYaJ1+4+vDWyqA8MR912j0wVxTFKM3to +RynPyC98gykaUflI9pKKvo/Um3FDV6goH1kLmT+/1qEOXjDff9iZBmZ+AWNM9LBN +8kHoIMGymCqM8zZ6OUt3VIowSQYJKoZIhvcNAQcBMBoGCCqGSIb3DQMCMA4CAgCg +BAirHdYutwNXk4AgB87AFNZ43NSQtj++5QXfRoRpfsBbs7GFgfOVA+ULT5Y= ''' # openssl smime -sign -signer test.cert -inkey test.key -in msg.text -text SIGNED_MSG = '''MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----67738FDB572078F189F11E9C26F02E69" +Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----D23AB54130D33D70AF44A49F6A408898" This is an S/MIME signed message -------67738FDB572078F189F11E9C26F02E69 +------D23AB54130D33D70AF44A49F6A408898 Content-Type: text/plain This is some test data. -------67738FDB572078F189F11E9C26F02E69 +------D23AB54130D33D70AF44A49F6A408898 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" -MIIEXgYJKoZIhvcNAQcCoIIETzCCBEsCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 -DQEHAaCCAlYwggJSMIIBu6ADAgECAgkA5m/vcEl2+3EwDQYJKoZIhvcNAQEFBQAw -QjELMAkGA1UEBhMCVUsxDTALBgNVBAoMBFNURkMxCzAJBgNVBAsMAlNDMRcwFQYD -VQQDDA5hZHJpYW4gY292ZW5leTAeFw0xNDEwMTYwOTEwNThaFw0xNTEwMTYwOTEw -NThaMEIxCzAJBgNVBAYTAlVLMQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzEX -MBUGA1UEAwwOYWRyaWFuIGNvdmVuZXkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAKprde44RVoR3iPqNCe9EtgJnV/MoNBuw3ox6jWHzFtStwQUmg3juSByUjDg -qSoKfKIFSn59gdaW6XH9/VYjYEPs/GyUampv1g6xapCEba1b+zwCiUMjgq2ET1Xu -gDg3WjCeX4mKF8mvKQGgrs3xmIpAPWBzH43Vttsj0S/YC+4HAgMBAAGjUDBOMB0G -A1UdDgQWBBTc1YpusWljyPjEtQft0Uliw/o/3DAfBgNVHSMEGDAWgBTc1YpusWlj -yPjEtQft0Uliw/o/3DAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAEKs -tVZ50yqpRYgwO6KoqQBcP1dvTdJAokolDZDI368/uz7ANeXSsvHl4R5y8bAys36H -zGjUzyZCu6TuRms4RQJ9O8qpvJ4NAfGjwj9KvnZUZsSMpiAuCcgoSd6yGMrVEzEq -DBCpvETSaJkyYRzEJDRgRWq+rUITFY5iYo0yJvemMYIB0DCCAcwCAQEwTzBCMQsw -CQYDVQQGEwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxFzAVBgNVBAMM -DmFkcmlhbiBjb3ZlbmV5AgkA5m/vcEl2+3EwCQYFKw4DAhoFAKCB2DAYBgkqhkiG -9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNDEwMTYxMDU0NDFa -MCMGCSqGSIb3DQEJBDEWBBS4mGqHlYCOu0+aUiwPuT3+Q8yGEDB5BgkqhkiG9w0B -CQ8xbDBqMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoG -CCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMC -BzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASBgJvrPVgEv1QkISmm0w8p -2EwYhr3v4lvOkdFTrzFnk+pZZeCWaLzS9voZB/n0Gh44r4XB4BXpkRwUis7RlnSZ -UyJDw7BNTVD4IIBTLFuJkbLC7JIeRznsGLnbHGZx0Dy//echx3hveOvdig0X5+XE -5iQwwM+TFruSiJR1wn9QwATn +MIIETwYJKoZIhvcNAQcCoIIEQDCCBDwCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 +DQEHAaCCAkwwggJIMIIBsaADAgECAgkA73SKUJGYuJUwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCVUsxDTALBgNVBAoMBFNURkMxCzAJBgNVBAsMAlNDMRIwEAYD +VQQDDAlUZXN0IENlcnQwHhcNMTUxMTI2MTYwNjM2WhcNMTYxMTI2MTYwNjM2WjA9 +MQswCQYDVQQGEwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxEjAQBgNV +BAMMCVRlc3QgQ2VydDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwCpCTGZ5 +c+IbjK17Pb1W/5eg8NfD168J9QsSqgx3yZ5oBuKLMBm5BPzMnngfTg+hvixKLJlG +tEeEZDSIlRzFOZGIUthk+JwDVXkYWZI8WYE+4dOLtWfuzKPFhdaYUdsrIRtVvc0i +iAx/kumvehINXpS6d7VDVlS9sVyUSOWEkPUCAwEAAaNQME4wHQYDVR0OBBYEFKSZ +/T/S12miawyp5maL0GTENilxMB8GA1UdIwQYMBaAFKSZ/T/S12miawyp5maL0GTE +NilxMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAVDWaM2axblp2cmYl +3w5lHSibl4wExsn440Vnrhlpsc586+Jg2N/d57DyrO8SWVvSivN4VkENSevPCtKo +Jb7dyszxlLUphg7XrJb9hcFUL5/mKV84x/0z/UTbD7aB9PDT8n0UwgbUCpB94P3v +x7tQnr4ggbcIoOD/w2mxeG3Dd7QxggHLMIIBxwIBATBKMD0xCzAJBgNVBAYTAlVL +MQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzESMBAGA1UEAwwJVGVzdCBDZXJ0 +AgkA73SKUJGYuJUwCQYFKw4DAhoFAKCB2DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN +AQcBMBwGCSqGSIb3DQEJBTEPFw0xNTExMjYxNjA5MTlaMCMGCSqGSIb3DQEJBDEW +BBS4mGqHlYCOu0+aUiwPuT3+Q8yGEDB5BgkqhkiG9w0BCQ8xbDBqMAsGCWCGSAFl +AwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG +SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB +KDANBgkqhkiG9w0BAQEFAASBgLXfxWyDPzKJ4zjozVMkzIHIIYC1NHCMQzIqFNmy +LCORY7Yd1DTsHv1Qshq0u/yA+6BWCN0S3MlUWJbnAN4zbyAH7EkgVZkymkn4KQyL +Si6AG6HNsYICeZW6gK/FW6ClKbXamygELe3Nx5cbfVEfT0Jsz2vj1gtS+tz87InJ +SqqH -------67738FDB572078F189F11E9C26F02E69--''' +------D23AB54130D33D70AF44A49F6A408898--''' # Created same way as SIGNED_MSG but text manually converted to quoted-printable # and Content-Type and Content-Transfer-Encoding fields added in manually. SIGNED_MSG2 = '''MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----4BE6B93D7D20765BBC2405B636FDBBFA" +Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----C4DE0669C598F78D53E9A61C6BB38924" This is an S/MIME signed message -------4BE6B93D7D20765BBC2405B636FDBBFA +------C4DE0669C598F78D53E9A61C6BB38924 Content-Type: text/xml; charset=utf8 Content-Transfer-Encoding: quoted-printable @@ -405,37 +404,37 @@ def test_verify_cert(self): om:Site>zam052v15 -------4BE6B93D7D20765BBC2405B636FDBBFA +------C4DE0669C598F78D53E9A61C6BB38924 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" -MIIEXgYJKoZIhvcNAQcCoIIETzCCBEsCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 -DQEHAaCCAlYwggJSMIIBu6ADAgECAgkA5m/vcEl2+3EwDQYJKoZIhvcNAQEFBQAw -QjELMAkGA1UEBhMCVUsxDTALBgNVBAoMBFNURkMxCzAJBgNVBAsMAlNDMRcwFQYD -VQQDDA5hZHJpYW4gY292ZW5leTAeFw0xNDEwMTYwOTEwNThaFw0xNTEwMTYwOTEw -NThaMEIxCzAJBgNVBAYTAlVLMQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzEX -MBUGA1UEAwwOYWRyaWFuIGNvdmVuZXkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAKprde44RVoR3iPqNCe9EtgJnV/MoNBuw3ox6jWHzFtStwQUmg3juSByUjDg -qSoKfKIFSn59gdaW6XH9/VYjYEPs/GyUampv1g6xapCEba1b+zwCiUMjgq2ET1Xu -gDg3WjCeX4mKF8mvKQGgrs3xmIpAPWBzH43Vttsj0S/YC+4HAgMBAAGjUDBOMB0G -A1UdDgQWBBTc1YpusWljyPjEtQft0Uliw/o/3DAfBgNVHSMEGDAWgBTc1YpusWlj -yPjEtQft0Uliw/o/3DAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAEKs -tVZ50yqpRYgwO6KoqQBcP1dvTdJAokolDZDI368/uz7ANeXSsvHl4R5y8bAys36H -zGjUzyZCu6TuRms4RQJ9O8qpvJ4NAfGjwj9KvnZUZsSMpiAuCcgoSd6yGMrVEzEq -DBCpvETSaJkyYRzEJDRgRWq+rUITFY5iYo0yJvemMYIB0DCCAcwCAQEwTzBCMQsw -CQYDVQQGEwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxFzAVBgNVBAMM -DmFkcmlhbiBjb3ZlbmV5AgkA5m/vcEl2+3EwCQYFKw4DAhoFAKCB2DAYBgkqhkiG -9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNDEwMTYxMjMzNDRa -MCMGCSqGSIb3DQEJBDEWBBSeJD0gdxmqeQqqVmTXCR2C2BaXvzB5BgkqhkiG9w0B -CQ8xbDBqMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoG -CCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMC -BzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASBgCDwzwTaHcu1NLJI8wlX -KJmeDJaC+qb2Xrlx2iNsRjVWeIWTE2FEa4C8t1w5cPya1gpHom2siI7GGct+U3XZ -oW1+owBpbROWsatfCmMyNLO34H6Lfknc5bCu/cdnDwCYCduFK05mhrJmx+/2rDaB -M3LRk9KaE6T05VQg831+4bgj +MIIETwYJKoZIhvcNAQcCoIIEQDCCBDwCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 +DQEHAaCCAkwwggJIMIIBsaADAgECAgkA73SKUJGYuJUwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCVUsxDTALBgNVBAoMBFNURkMxCzAJBgNVBAsMAlNDMRIwEAYD +VQQDDAlUZXN0IENlcnQwHhcNMTUxMTI2MTYwNjM2WhcNMTYxMTI2MTYwNjM2WjA9 +MQswCQYDVQQGEwJVSzENMAsGA1UECgwEU1RGQzELMAkGA1UECwwCU0MxEjAQBgNV +BAMMCVRlc3QgQ2VydDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwCpCTGZ5 +c+IbjK17Pb1W/5eg8NfD168J9QsSqgx3yZ5oBuKLMBm5BPzMnngfTg+hvixKLJlG +tEeEZDSIlRzFOZGIUthk+JwDVXkYWZI8WYE+4dOLtWfuzKPFhdaYUdsrIRtVvc0i +iAx/kumvehINXpS6d7VDVlS9sVyUSOWEkPUCAwEAAaNQME4wHQYDVR0OBBYEFKSZ +/T/S12miawyp5maL0GTENilxMB8GA1UdIwQYMBaAFKSZ/T/S12miawyp5maL0GTE +NilxMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAVDWaM2axblp2cmYl +3w5lHSibl4wExsn440Vnrhlpsc586+Jg2N/d57DyrO8SWVvSivN4VkENSevPCtKo +Jb7dyszxlLUphg7XrJb9hcFUL5/mKV84x/0z/UTbD7aB9PDT8n0UwgbUCpB94P3v +x7tQnr4ggbcIoOD/w2mxeG3Dd7QxggHLMIIBxwIBATBKMD0xCzAJBgNVBAYTAlVL +MQ0wCwYDVQQKDARTVEZDMQswCQYDVQQLDAJTQzESMBAGA1UEAwwJVGVzdCBDZXJ0 +AgkA73SKUJGYuJUwCQYFKw4DAhoFAKCB2DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN +AQcBMBwGCSqGSIb3DQEJBTEPFw0xNTExMjYxNjI0MTRaMCMGCSqGSIb3DQEJBDEW +BBSsAbgU5Xqg/QNNwbXFBxU/k7PFmzB5BgkqhkiG9w0BCQ8xbDBqMAsGCWCGSAFl +AwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG +SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB +KDANBgkqhkiG9w0BAQEFAASBgJ+Wn5Huc7Kyxw1yiHp1dbzVUpU1f4LWJiZLL3+c ++6jJAU1yGqI9awV1XrM7vcrw7Rqo9DQTGWBJ57VW02BAfYiNsKax2rIQmSj74L6a +2n4xYtDgTC27PBLqs7vX/9AzNx40MdWl61MTIXpJcgDAV0LzAyLZvE3ZlPZWrKz+ +KH1d -------4BE6B93D7D20765BBC2405B636FDBBFA--''' +------C4DE0669C598F78D53E9A61C6BB38924--''' MSG2 = '''ac2b1157-7aff-42d9-945e-389aa9bbb19a7005CN=Bjoern Hagemeier,OU=Forschungszentrum Juelich GmbH,O=GridGermany,C=DEbjoernhusersHiLAcompleted0unicorePT0SPT0S1.0002013-02-22T15:58:44.568+01:002013-02-22T15:58:46.563+01:002013-02-22T15:58:49.978+01:002013-02-22T15:58:44+01:002013-02-22T15:58:44+01:002013-02-22T15:58:44+01:002013-02-22T16:58:45+01:00122013-02-22T15:58:45+01:002013-02-22T15:58:45+01:00zam052v15.zam.kfa-juelich.dezam052v02batchzam052v15.zam.kfa-juelich.dezam052v15'''