From 3d0640a2ccaea3f3839bcfe2150be54d0aebd6f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Trojnara?= <Michal.Trojnara@stunnel.org>
Date: Tue, 26 Jul 2022 16:27:46 +0200
Subject: [PATCH] CI for Linux/macOS/Windows (#166)

---
 .github/workflows/ci.yml     | 104 +++++++++++++++++++++++++++++------
 .gitignore                   |   1 -
 cmake/SetCompilerFlags.cmake |  10 ++--
 tests/certs/CACert.pem       |  30 +++++-----
 tests/certs/CACertCRL.pem    |  16 +++---
 tests/certs/TSA.key          |  28 ++++++++++
 tests/certs/TSA.pem          |  30 +++++-----
 tests/certs/TSACA.pem        |  30 +++++-----
 tests/certs/cert.der         | Bin 1010 -> 1010 bytes
 tests/certs/cert.p12         | Bin 3731 -> 3731 bytes
 tests/certs/cert.pem         |  62 ++++++++++-----------
 tests/certs/cert.spc         | Bin 2003 -> 2001 bytes
 tests/certs/crosscert.pem    |  30 +++++-----
 tests/certs/expired.pem      |  60 ++++++++++----------
 tests/certs/intermediate.pem |  30 +++++-----
 tests/certs/key.der          | Bin 1191 -> 1190 bytes
 tests/certs/key.pem          |  50 ++++++++---------
 tests/certs/key.pvk          | Bin 1196 -> 1196 bytes
 tests/certs/keyp.pem         |  52 +++++++++---------
 tests/certs/revoked.pem      |  62 ++++++++++-----------
 tests/certs/revoked.spc      | Bin 2463 -> 2463 bytes
 tests/certs/tsa-chain.pem    |  60 ++++++++++----------
 22 files changed, 375 insertions(+), 280 deletions(-)
 create mode 100644 tests/certs/TSA.key

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 02e7f9a..c0a18d1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,10 +1,8 @@
-name: ci
+name: CI
 
 on:
   push:
-    branches: [ "master" ]
   pull_request:
-    branches: [ "master" ]
 
 env:
   # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
@@ -12,29 +10,99 @@ env:
 
 jobs:
   build:
-    # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
-    # You can convert this to a matrix build if you need cross-platform coverage.
-    # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
-    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - triplet: x64-linux
+            os: ubuntu-latest
+            vcpkg_root: /usr/local/share/vcpkg
+            generator: Unix Makefiles
+          - triplet: x64-osx
+            os: macOS-latest
+            vcpkg_root: /usr/local/share/vcpkg
+            generator: Unix Makefiles
+            cache: /Users/runner/.cache/vcpkg/archives
+          - triplet: x64-windows
+            os: windows-latest
+            vcpkg_root: C:/vcpkg
+            generator: Ninja
+            cache: C:/Users/runneradmin/AppData/Local/vcpkg/archives
+          - triplet: x86-windows
+            os: windows-latest
+            vcpkg_root: C:/vcpkg
+            generator: Ninja
+            cache: C:/Users/runneradmin/AppData/Local/vcpkg/archives
+
+    runs-on: ${{matrix.os}}
 
     steps:
     - uses: actions/checkout@v3
-    
-    - name: Install dependencies
+
+    - name: Cache the vcpkg archives
+      if: matrix.os != 'ubuntu-latest'
+      uses: actions/cache@v3
+      with:
+        path: ${{matrix.cache}}
+        key: ${{matrix.triplet}}
+
+    - name: Configure VS Toolchain (Windows)
+      if: matrix.os == 'windows-latest'
+      uses: ilammy/msvc-dev-cmd@v1
+
+    - name: Install apt dependencies
+      if: matrix.os == 'ubuntu-latest'
       run: sudo apt-get install -y libssl-dev libcurl4-openssl-dev faketime
 
-    - name: Configure CMake
-      # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
-      # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+    - name: Configure CMake without vcpkg
+      if: matrix.os == 'ubuntu-latest'
+      run: cmake
+        -G "${{matrix.generator}}"
+        -B ${{github.workspace}}/build
+        -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+        -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/dist
+
+    - name: Configure CMake with vcpkg
+      if: matrix.os != 'ubuntu-latest'
+      run: cmake
+        -G "${{matrix.generator}}"
+        -B ${{github.workspace}}/build
+        -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+        -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/dist
+        -DCMAKE_TOOLCHAIN_FILE=${{matrix.vcpkg_root}}/scripts/buildsystems/vcpkg.cmake
 
     - name: Build
-      # Build your program with the given configuration
-      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
+      run: cmake
+        --build ${{github.workspace}}/build
+        --config ${{env.BUILD_TYPE}}
+
+    - name: List files (Unix/Linux)
+      if: matrix.os != 'windows-latest'
+      run: find .. -ls
+
+    - name: List files (Windows)
+      if: matrix.os == 'windows-latest'
+      run: Get-ChildItem -Recurse -Name ..
 
     - name: Test
       working-directory: ${{github.workspace}}/build
-      # Execute tests defined by the CMake configuration.  
-      # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
       run: ctest -C ${{env.BUILD_TYPE}}
-      
+
+    - name: Upload the errors
+      uses: actions/upload-artifact@v3
+      if: failure()
+      with:
+        name: errors-${{matrix.triplet}}
+        path: ${{github.workspace}}/build/Testing/Temporary/LastTest.log
+
+    - name: Install
+      run: cmake --install ${{github.workspace}}/build
+
+    - name: Upload the executables
+      uses: actions/upload-artifact@v3
+      with:
+        name: osslsigncode-${{matrix.triplet}}
+        path: ${{github.workspace}}/dist
+
+    env:
+      VCPKG_DEFAULT_TRIPLET: ${{matrix.triplet}}
diff --git a/.gitignore b/.gitignore
index 657fbb9..75012c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,6 @@ stamp-h1
 *.def
 *.dll
 *.gz
-*.key
 *.la
 *.lib
 *.lo
diff --git a/cmake/SetCompilerFlags.cmake b/cmake/SetCompilerFlags.cmake
index 7036c35..98a1694 100644
--- a/cmake/SetCompilerFlags.cmake
+++ b/cmake/SetCompilerFlags.cmake
@@ -20,10 +20,10 @@ function(add_compile_flags_target target)
       endif()
     endif()
     target_link_options(${target} PRIVATE -fstack-check)
-    target_link_options(${target} PRIVATE -fPIE -pie)
-    target_link_options(${target} PRIVATE -Wl,-z,relro)
-    target_link_options(${target} PRIVATE -Wl,-z,now)
-    target_link_options(${target} PRIVATE -Wl,-z,noexecstack)
+    #target_link_options(${target} PRIVATE -fPIE -pie)
+    #target_link_options(${target} PRIVATE -Wl,-z,relro)
+    #target_link_options(${target} PRIVATE -Wl,-z,now)
+    #target_link_options(${target} PRIVATE -Wl,-z,noexecstack)
 
     target_compile_options(${target} PRIVATE $<$<CONFIG:DEBUG>:-O2>)
     target_compile_options(${target} PRIVATE $<$<CONFIG:DEBUG>:-pedantic>)
@@ -89,4 +89,4 @@ function(add_compile_flags_target target)
   endif()
 endfunction()
 
-add_compile_flags_target(osslsigncode)
\ No newline at end of file
+add_compile_flags_target(osslsigncode)
diff --git a/tests/certs/CACert.pem b/tests/certs/CACert.pem
index b3d5f17..e77f7fe 100644
--- a/tests/certs/CACert.pem
+++ b/tests/certs/CACert.pem
@@ -1,22 +1,22 @@
 -----BEGIN CERTIFICATE-----
-MIIDoTCCAomgAwIBAgIUK8d/QvlhUTD8VFVtm8J7dfwU0JkwDQYJKoZIhvcNAQEL
+MIIDoTCCAomgAwIBAgIUOK8lwJ8A1Oqw8jDAb3TF06ve+PcwDQYJKoZIhvcNAQEL
 BQAwWDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEgMB4GA1UE
 CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEDAOBgNVBAMMB1Jvb3QgQ0EwHhcN
 MTcwMTAxMDAwMDAwWhcNMjYxMTEwMDAwMDAwWjBYMQswCQYDVQQGEwJQTDEVMBMG
 A1UECgwMb3NzbHNpZ25jb2RlMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhv
 cml0eTEQMA4GA1UEAwwHUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
-AQoCggEBAMZ4wci7y7HUW8qAEnN116ASt4XnGOgMx4HBe/YJv3KXg6c89gd2eYQf
-SbNDvgjGanveVoHtx2JP/bvWBvYgDgpwIkx9atQB2445IEvENaDdLrpq0J3dnOyJ
-uPMFWvcdEi64uarcs2AReJh7Zj4EVL4/d84IfcQqJL2Ew+yeNe464z7dzOWgSoUc
-QwM3HH8ncFXM963L3BtdkoLU+si5njnB8NEhNpKPs0jlBWzrGBQSUBtBNCqePNMB
-RcdSo6hqL1vOi4OZjamddIJ5/xnZn8hX/43hQ/1EHGNqjLUWRcYrl03WDM7rV53K
-7f0cDrlp/98N0ia4oYrB4Yi3JyHfJwsCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB
-/zAdBgNVHQ4EFgQUcxnOmEYbx/QWRcKMiSX9j2T0hMQwHwYDVR0jBBgwFoAUcxnO
-mEYbx/QWRcKMiSX9j2T0hMQwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUA
-A4IBAQACOdaM9xyLmccY4eiQIQewAznjxHUB/FIosZ8xW9vqCUyVyC5Oo9G+0mXt
-FXYM2NMPIMsHeuWif9tndtnB8sLwSDUIGD9Wg+b26MkkK9HDLavAM+jq2XYDZint
-isYhDOXa7DMeogJxccFoeuTZCtNfQ7x0/dWOtgwQIuRF5OocNXXeEuej0ZQ45XQ4
-69fPoY1Zy5BplvgUUfpMz84adPB+DNS+rEzMpaY6HDdMNTwKAi9eGYRSyi0x9wAe
-H09JLPFEqCKBx3Z53+URrodzgC+VU6S9JPSoTZVikiRaTWV4N4D5jdbpujMwef3e
-d3lD695hpYviJsO75Ftb6R0M0S8F
+AQoCggEBAKzObJwYq4t9Y/OOQLqUNLU8RDXq284L8zQgRLkvApF87FNN7kozIgC9
+/HAgJSho/Lup5lzkCWa3fjkYm1EBrL+JihesSaCxxe7LOg6tRaY+WxikwMUnlkNE
+s3R+DogeGVsla4q0FEcICiz3FHTfSAUVmrN3Nj1ll7npJXrqmXxfCuO3slgjUkHq
+tdZ5t1rSWwbiUhGIQKLzo3/uw2XoOI28qpoOw+0/y8AyjWs8My3u8GrYFr+qh5fx
+Y0Zp0EhhAJo23Xd43XmeVKjuKIOaHu3JiM8sp9K1WFsTvFNAO27TBRn/X0mJCeDX
+T117dQxhWOCcQ/uRGuXICT4ign8MLtUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQU6ewx3DIpbR8OptEmDFlYNELRqP4wHwYDVR0jBBgwFoAU6ewx
+3DIpbR8OptEmDFlYNELRqP4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUA
+A4IBAQAhRMun0IzPmHVFM+SOfSCPVAgogWpqR5XlBAFlS+Aen6v3ukQAQjEhfBbE
+dZG6ye9i0ebf9qXYTvSq5wfaqP7FGb2/Z96uPXNMXPi796KjLW2CG578DitORPb7
+x1eV3UGrQX2bMQ0JbGkBU+DIdIRBqDfad/kjLtm5eHyCbaodSWdaZO4LSUIy3MBx
+2UeBj2qD4RTA0Dt7hG7RA5QdTxHlZyLIk8HX3krZ+il5RmSbOnQs/XqK5DJp4J5p
+122sIO4Y9ki+Wewzx8f3/7mcVbcMo67GwRHo8bk3GjWE74pczyrzfP68vDQ4tn85
+NcLPeLClfSziJD09z+Iyp94EQeKX
 -----END CERTIFICATE-----
diff --git a/tests/certs/CACertCRL.pem b/tests/certs/CACertCRL.pem
index 242e4eb..30e30fa 100644
--- a/tests/certs/CACertCRL.pem
+++ b/tests/certs/CACertCRL.pem
@@ -2,12 +2,12 @@
 MIIB9zCB4AIBATANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJQTDEVMBMGA1UE
 CgwMb3NzbHNpZ25jb2RlMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
 eTEYMBYGA1UEAwwPSW50ZXJtZWRpYXRlIENBFw0xOTAxMDEwMDAwMDBaFw00MzAx
-MDEwMDAwMDBaMCcwJQIUKSt48Rg3QnHZPnv9V8IMgkpeYDoXDTIyMDYyNDA5MjYy
-OVqgIzAhMB8GA1UdIwQYMBaAFBwS2oY2LaAR6mlv1pGCXB8sJG/9MA0GCSqGSIb3
-DQEBCwUAA4IBAQAu/P9vJXkstWFFqHdYLWlwtS47IJqS6ZjFAIIZ/Ro2fIrjDaCO
-b6L1RpzRdPSLSLsVPIbhn+/hez7M7THwG/+pAcCs5mJd/A6Sx9c/41e6NIoz/r6+
-AG1OeT4zbYE1LcD/WJHPMy5BrOrTG7OTH8rSUt9K01TADHr7+uRhdjZC9gV3rZeT
-y4lq/AgPInV3HX2z1+/82LTGF1IgOeco95SZXe3VlCOhE6SLrEQA1G+dGkvQwjCX
-Eu1KjWRS8rEUB1EQsGIuos6v1cVESAwdCUB9hSJIkDNVaCmcfGfcYu+xz0RbI6Bc
-/Gwhfzf7cfRTwB6JwW7diJgqJVLSONKMrI91
+MDEwMDAwMDBaMCcwJQIUOpY5wp7DtqsdxII7sxculedk0PYXDTIyMDcyNjEzMDk1
+NlqgIzAhMB8GA1UdIwQYMBaAFJ4FrAtb4UB/ag702URPiid97ziLMA0GCSqGSIb3
+DQEBCwUAA4IBAQA4Kw0vEJrtjjMam16iN/stOMxJDgkp1IQzA3narxr9fEjX5Ynk
+JztuEExtowPIDOLGWCySXNEMmxCzXNAMvlUq+UQvnWrwgHQ9R7TBYIcAY+VRmzKz
+T4PXvDSL2WMuJ1dLWoIcL2D0wEdti7YMvAnCrOC8HAPGgke5QcOgSfMSAYSAtpiw
+PZAFgcuo53AodlCw9J+CPcHPYw+C2QExOy8s8q6d8Xgjg+Ge7v3RxLWy74sNPl0u
+uZ79vcLNEeqEXxKaw5abqDqIDcUKIT3b62KsSxkak9IGNMLcTASw1V+YaKVLSYNW
+NTuc5WJblfZi/q7WUMKkmRERzvdg2rf0CSH1
 -----END X509 CRL-----
diff --git a/tests/certs/TSA.key b/tests/certs/TSA.key
new file mode 100644
index 0000000..5175610
--- /dev/null
+++ b/tests/certs/TSA.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCivbbTCnbOqPoV
+7VVP/KJzgslx8yfX9laGwTsvzqStQtG8j40ljR85WD/bgy3I5duebudg7JhOVH2f
+aSqbh8SCzP4YNDFcseDIuHdoXi54POgW3S/wbe8l8P7g3btcBgnlXh/izhUlEMib
+Q/8G8UZj0n/MgKMLzcXc4t2eQ4Pzw7xAPqoXBZ20Fg2rFBfUsDDLc5F7lpO5t1WQ
+dXTYmF0oAL/HLmd+HKe5Xgp9jJ6XacesjWLnhRdZ06uUP9cgo+Jem4QZxeFhOtMe
+KAf7JH3Juz2Gi0a+4dMSNzES4m8RAlf6pXh4kAh7EhMNb/Ir6ZpY8uKM7dtn38mh
+1f59EKc9AgMBAAECggEAK5zB0P695hYcpyGqOjxO4LvM9m+eXt7SQ1ynWuF6+j+s
+62ZhAg42rux6eH5IF82ZtHSuJyhgjKVR4RWS6IlS3WbINX5PODMnNUNSJLMQqwJP
+hEkUXs9nRni2JVbmrfukTUaTLvnhasR7rjhjsN2Z6ohv3UMf7rrfapmVoKMhSoLd
+jqvZ2ZoaT5mfTiK/5PDyWqrt/vmvE4VlipAsvudwozG5vQDEsCNDNUTg5OTGnPUU
+i0xeQTioqzCcweIlEaWhj/eMHx/eAeZ6V0Evid/YwTDlbTqVDWZGLJ/phOnKJs3V
+j+eOv7E2d1ga7149SPDIv5Y0YZ91v3M06ICk5o66gQKBgQDSM+YyR5YOJTSAuAcI
+uKTc33wwCbPiJF/F1zLJDdPp2IamZQbuNIX/8fOG3Gho+OnfNAykMcr3rFrug2vi
+9GhWDQqguYGh16xos+2zNan6P/s0/rQ4OfPIsTEGC8X3fJeMzZUNMvnyN/FXzzus
+020o29gu59esEfGHEsvAupC3IQKBgQDGMqGLgrU4oW/5mmm4BZlwwkZJNMmFH49u
+Qe4Ylj87SQduExJMmTfrmANqQXu7RXG0IxLcvhwMLVCCYAkvuBv1awsbg2yfP1Pn
+Wb/K+5CaHaxnpwSpRiGaN6fnAPDl8PnALMVXtQGru2MMcISxOIFQ9slHth0lmaMo
+odIPIL1YnQKBgAOSskUEhn5zD3NorWXujY7blabTY2VirOYWBFz6iTGeZpuJeBaw
+ed6h5DvUn0m5gXAz2EsqNYMEQP9w6HKRKPzdd+LHhHaVze5xsIatUNhaIhECi1mx
+Un2E1Yp+xLyyN3lDPVdeGHWPkeCmOyNy7JYXNpOFiVr5axuarC/4e+FBAoGAeuRR
+/mshaufOwnnYK15tcdlEM4gjnAOhr7/5ng0rT9tMXBg/NHeckNxE4dGQouHASu2k
+eHL4eSRv0ycxCwGhdF7XGEw5QdTGdaDUp0ussaLMj8ijv0HY/AKefUG8HRd6BIq+
+Ik/9pTofhEsQO8LJjCY5T9m/4NyOqlcMJI0sWpECgYBvPLnutbBXYONVAE3jL05K
+hWwenKpv5Aaa11ahqzhil2Tj+VOMtmvhsSc5loSG83qp5LtN4LxyR0Vn9AGN7Z+d
+Ut6LHeZ/DMW3/RPT+1MIKm6WLNxgk5YvuCxprdpfE5tTmV9/t+t3Uao7TRsLPl2o
+qAKz8Fvq0el5RW3EtAgd4A==
+-----END PRIVATE KEY-----
diff --git a/tests/certs/TSA.pem b/tests/certs/TSA.pem
index bb1ff83..8382d10 100644
--- a/tests/certs/TSA.pem
+++ b/tests/certs/TSA.pem
@@ -1,28 +1,28 @@
 -----BEGIN CERTIFICATE-----
-MIIEzTCCA7WgAwIBAgIUOfEovjEdUwxU3llVsP/j845Bmi4wDQYJKoZIhvcNAQEL
+MIIEzTCCA7WgAwIBAgIUfRjXKciCGA4XbhbhxbAwfpcLGmowDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEkMCIGA1UE
 CwwbVGltZXN0YW1wIEF1dGhvcml0eSBSb290IENBMRQwEgYDVQQDDAtUU0EgUm9v
 dCBDQTAeFw0xODAxMDEwMDAwMDBaFw0yODAxMDEwMDAwMDBaMFUxCzAJBgNVBAYT
 AlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxHDAaBgNVBAsME1RpbWVzdGFtcCBB
 dXRob3JpdHkxETAPBgNVBAMMCFRlc3QgVFNBMIIBIjANBgkqhkiG9w0BAQEFAAOC
-AQ8AMIIBCgKCAQEAy/UScIYfmEkhQEjfzQQBGtQida4BLImrenu6cdCX3QUIBqNw
-ZPWks+hAJhaRBQhecyd+XkJR1dW2jrCWCGGJ6GZDPFH9WER7JbBID//s9+XVSuol
-xCThVr9RwKpPag2ZsRC8VeSRc7At/uX6lcd7sRG1Yu6Zb/MaabowjPLflVPZboC4
-y2xBf8uROS4eVffJPdwTwirNOTJtTwxOVOVaE0J1GZEdr8I1o1bmZjcYQ+/+VGB3
-mgs5dFvSVmYMzocdb05yxlf/CHfP6tSJufa1YjSHztpC9AJNYD7JUhkVeKEmFHtZ
-8Gf4KCPGqfqqrQJ6VMrNNImZ9i9vOE7u9GJZJwIDAQABo4IBiDCCAYQwDAYDVR0T
-AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQUxWBfmgyH
-/JUPHYH604MsYcosbjYwHwYDVR0jBBgwFoAUgOyoninPDHD34LHDNEgwoIHPUzIw
+AQ8AMIIBCgKCAQEAor220wp2zqj6Fe1VT/yic4LJcfMn1/ZWhsE7L86krULRvI+N
+JY0fOVg/24MtyOXbnm7nYOyYTlR9n2kqm4fEgsz+GDQxXLHgyLh3aF4ueDzoFt0v
+8G3vJfD+4N27XAYJ5V4f4s4VJRDIm0P/BvFGY9J/zICjC83F3OLdnkOD88O8QD6q
+FwWdtBYNqxQX1LAwy3ORe5aTubdVkHV02JhdKAC/xy5nfhynuV4KfYyel2nHrI1i
+54UXWdOrlD/XIKPiXpuEGcXhYTrTHigH+yR9ybs9hotGvuHTEjcxEuJvEQJX+qV4
+eJAIexITDW/yK+maWPLijO3bZ9/JodX+fRCnPQIDAQABo4IBiDCCAYQwDAYDVR0T
+AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQUKWCqogni
+6SseJ/P6LXo0M2cK++QwHwYDVR0jBBgwFoAU/5nNuG4Tm4v2y9uKf428/4fVQesw
 gYQGCCsGAQUFBwEBBHgwdjA5BggrBgEFBQcwAoYtaHR0cDovL1RTQUNBLnRpbWVz
 dGFtcGF1dGhvcml0eS5jb20vVFNBQ0EuY3J0MDkGCCsGAQUFBzABhi1odHRwOi8v
 b2NzcC5UU0FDQS50aW1lc3RhbXBhdXRob3JpdHkuY29tOjkwODAwPgYDVR0fBDcw
 NTAzoDGgL4YtaHR0cDovL1RTQUNBLnRpbWVzdGFtcGF1dGhvcml0eS5jb20vVFNB
 Q0EuY3JsMFUGA1UdHgROMEygGDAKggh0ZXN0LmNvbTAKggh0ZXN0Lm9yZ6EwMAqH
 CAAAAAAAAAAAMCKHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA0G
-CSqGSIb3DQEBCwUAA4IBAQBUYQD1lhHtsmIInDG2hFUGnydialZpIy21wIKD1pUr
-D4+WHwLGhqCP/uq1RIRP++c4NXiRSsy5Qh1hJaNvyKNot6IFyE8J/9WWusuNy6ds
-Oi8sLVMmMLCasLRaYBeYQpgQiiKh3vguFF4mAmQx1Dt2W0XwyiqCCOA+1dC/XpSx
-wPbyqjg01IDuuo0ieygB+H5317coA+ZY0py2dU461owA1xJh5H0mBo2C4ZDd47K7
-DSgPlFQH1w7YRvjljoH/S8ir6AWDo/XWDqI5Ntwm5nYRh32RUAdDKijYL07sxehz
-DRdqCKnFc0hWpwswv2XBmXOh67wiUqlpI7KhOICtGEHd
+CSqGSIb3DQEBCwUAA4IBAQB4YXa5nVWUzWSsUDMfYFTEETOe8boUErwfrDNBuj6z
+B5en20FhI49i6PCYEfNq3vrAtPOEFJj+KPomN3C46VLxbUEvqWLdq6EyzWvVVmXK
+VLeC0qV0m6CFM8GplaWzZdfFTQaaLUhgY08ZU2gp4QsoS2YjAosxlZrNSm6pBbv3
+q+Og1KeSK8gKS0V89k+6e3LOEF6KaNWKSkoz5xDniQY//mTjiDcNmYUh0KhHfhdU
+eO92M82uJSaDqnRs5HsWPs6z6qdfpuvj++OtQ1VCM2p5SEH2sEomdeN3YYChuG4h
+yzn0mYAdbTyGJHlFm17AH+SQRbVqCKYdHDaqsMb+fWzi
 -----END CERTIFICATE-----
diff --git a/tests/certs/TSACA.pem b/tests/certs/TSACA.pem
index daf02cf..3f50672 100644
--- a/tests/certs/TSACA.pem
+++ b/tests/certs/TSACA.pem
@@ -1,22 +1,22 @@
 -----BEGIN CERTIFICATE-----
-MIIDkDCCAnigAwIBAgIUUpGlWPFcTBqk4tMbyH+KTbO9/mcwDQYJKoZIhvcNAQEL
+MIIDkDCCAnigAwIBAgIUJ0nfE+EVsIThltlY2LHVWMJVIq4wDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEkMCIGA1UE
 CwwbVGltZXN0YW1wIEF1dGhvcml0eSBSb290IENBMRQwEgYDVQQDDAtUU0EgUm9v
 dCBDQTAeFw0xNzAxMDEwMDAwMDBaFw0yNjExMTAwMDAwMDBaMGAxCzAJBgNVBAYT
 AlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxJDAiBgNVBAsMG1RpbWVzdGFtcCBB
 dXRob3JpdHkgUm9vdCBDQTEUMBIGA1UEAwwLVFNBIFJvb3QgQ0EwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDlPnoARKfM6fzxkHC7PZar48cL2jkO7XpT
-xv/uO6yyd1qj353o7/rhT5REb291cMv59o7fv6uxdReWcIpjR3NxgyxJ8P8qxnbW
-wQJJIvL729hcP5L6Rbl6n8l0OmSPBIth9yzLpsuz3in9lfd65BKYswe8M26lgfP3
-Xky1uA+awt/Vsas7cYUvH94NsCQVU52mLanr9oVaI+7EPBlA9JwhNvUOlnSmOIix
-9ZQ9pkTN6+4ceQwq5zs845yglAkDl6JuKUNCDJQGejfBgokCSNbWmqUV9VaLS0BP
-LIAn9kyth2K/lIY1Wo+Bkc+020zY8QPfZ65G8RTR/bIsUqfpHQ11AgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIDsqJ4pzwxw9+CxwzRIMKCBz1My
-MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAK3lXc/QhlCnlPeT1
-qB9cq3HvMdAWS8+ekf5f++atMoZkRsn/Avfq8JB1i+hHmElAOuqZJDhyFSstehlK
-a69gBHY9l2NuMGtUMp6gRodjbpzxPHxKUqXpdyw29qfJhJlsYbn+pZ2KCZ35E2QP
-17RR4WvQ+nkNQfr1nfGL8yLw+Swv8T9okjYadvKjWfk6L2D6Q4WExtmWTuQgz+Fc
-PyvLEE8h1eS1ZTZtL1WzUUG48Mp0+tPDN9FoUoTGPflwMYDI/WChY6OluWKQiBBa
-tWCjX9xRBOi5BV/wzzzrj0q58lGXCDY8C7SQ4wYP/zt4HPSroACe4cKdJhaWULnP
-iA+12g==
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGOTX1f9dmtUiyzlsUInRIGfRMya338SVx
+vYGeOwdpTSSGlYUVwR9AuFewQF5+klelstCJe+SoUG0AdzS30mRWlQrhip4UdvdW
+T2gkNKbSn6DQzlWoQej9izqRLxAsbuszgkvnLOBEmPaLimDsCgu0bAN95Hp0Hls9
+O/fVmzh8VuV4iscxc7q13ZB7CylWgwd55CFEGd/jpJ6kMwSHbOLoBWp4GQ3KxR+c
+ASAo0FapU2WSZB2EYWszRiyq91X+AvIYN4ypTv7RccgfUvnZ2qFykJAkf/wgkynu
+Qg7rCUNfUEpDc7jlqtDWR7iLrtHBkA17C3IU8ymmKQYWfw3ZyBwvAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP+ZzbhuE5uL9svbin+NvP+H1UHr
+MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAbj3aFwIUxvzwgywO
+gj01JM8GNbw1E4MGdkaNI8rgeY8ay15ZXhR9NpRWWb6Y7IXPq5XhuEktVte5Z4Kf
+XLBrr7Xe9VVqJL9zd1tMzOEM/zG77rZf/iXBTZLkCtQc/GOEY4TTWKNEl5hiWVE0
+po97GX5XHoeyHlWQ75sd9z6MxFxmvdp9/uyYD700e9sd5gcD8LGvHw2DNy8vntYV
+ia9h95N9i1umffxU460o8W5GoIcsD13B3YftvnWhGSXqovBRFgcPAQZ4eW9Qh/zA
+4zQBQrRvmREPihXVdgtWVpbRchP99oSZBrYr7Hh/P69rycklquqxJl1ol1wbT6dK
+S5Gmng==
 -----END CERTIFICATE-----
diff --git a/tests/certs/cert.der b/tests/certs/cert.der
index 81fbea4ee0862d7c973886b49291f94b73a37f60..94bd47bedbe9c0d1c98b56c56de853a9cfa623ff 100644
GIT binary patch
delta 624
zcmV-$0+0Rj2l59aFoFZ_FoFWspaTK{0s<6tvL_xn9=#Ppud+MxzJB|slC7PwBT@l>
zvP&m*ZOdt3Cl9%z;1%JTq$3O8SoZ|)F!c%a2rq9m+BI$oB;+^O9~D*%C{Yh56c!``
zs0%v(Qy(*8-$7jNXy4zn?&*svXF8?&*(a$6;%h51HgDge><J8?jYl;*(e-L0kP`Gz
zV`@d({#|~gOsoor)I^XRC?HT6#Fc1&{h+~G$H?+KvT;v4t+eL)nh@rzJ}TPo3&D|x
zlo}s^-~s1@CBKbv?a<-#n7@szm$`-}vNUiC;6R^VJ`Zfjn<K-=l^RfzOwQ=&Lb#4+
zf|S|O(St2Mz24bwvh|S`HESG=L+HViwFjP7S=b<?gc=zj&YsVCV?PKha+ov%M%R;d
z0v|O86U4JmR$M$rslS6+F<@~-9nb+V9|i+e9U}x7FcyFmo&~H6Tj4-|Y7X?-L{Ew*
zeeXDnlgR=pf1<W~TQ#QT1#H;hmWpDSrg%O}HqE|^RY8X74i`gLR(oz}zTUizYx(GL
zatOjTH{$%OPl~%|j(oG5OR*yqR8&|(7Y+!iuOQPKIu=CD{L%ZEq`%|s8+HE~h#h3b
ziMRji0>7Q4SFlm{bVl3kFxEqwKzC<)(a?TQ6$Bxae-lC9{oA6hlbQrd^Yroc%wapC
zU<7icZD5)!uf-2dm@-f3A@RtRe=Hs?Z$v<<a^zOU)dV@wVP{0XOQE8q?QRuwRkHV(
z_k@{NGN&9}HQL9ePIH?PQi^?(++7o$<6KYU16Suzacq+q)-3(`=A+I_vL>V^EJnXt
KvGDZl0`eg~P9~24

delta 624
zcmV-$0+0Rj2l59aFoFZ_FoFWspaTK{0s<5_OzGLsPu*!S7v!)YX$u5|55u~#BT@l>
zyP5wLeD=u(mYbdFWS9qa6$X1B*RFrskCyrEO<SB}p@cja{Q_OsRI%NDY1T`$>kc4#
zbkKtoCrzMa1)kEfDQ^3%BTR5x^7dnHGF6T9-4G;s@bsV4=`;X>@#|Y)09?pi=1XnT
zr<M00TqW=YAE8xq#xxiljjb;`RfL3p=Jq66Q$fF@Ahsx@+(szvaP()z|BrYZy%hTL
zE1BGO(cFu=fOE{~j^VgVQ0ctAJfc7TH$NH`nxQ@aMpryj%i*wSlVekcPxK!i{UUI(
zCjhpbJNV=(Q7qRSZuKU}MFrr&1PGP9gSN;K)h2voQ(zPc@e<1f)kBXU6e9xyb)}Pa
z0v|OEzjNqSqGGy3AE;Etb@mg~I}4mJ9|i+e9U}x7FcyFm91_}wHZ7nL>S=G*k%C+w
zEF^FJlgR=pf5%Nhe+7wdET_U^nrg7Plh>?50Qm7SEJ7~$`fqnBZQczdFsuf6$#)_G
zEx8GrwZ;GeZgm&P)dCX9K42q{oYfAp^z)f0MnT0{$&i{3_As-@iHYpkP-Zp78<=Ul
zC%nxw2X4o*s_g8p^EmR!W`a&a(P;*5Dd>+1IvCc^e_=pj!Y1gfBP#nui2t#2V`IN=
z)3Ubs7Ga8PBn~cBs+fJ-`Hc2BU9NfUB-g>v%jTM_j6ZyT`<78bjoBY)W+@4H1P?BO
zpSf{c<b_MSi|1fZ45C*NIy!(!WN*ViVrr^y+&R^GdzgdTsW>(BD6PddzGF+IlRplm
Kfl8Wk0<-m?WF^!9

diff --git a/tests/certs/cert.p12 b/tests/certs/cert.p12
index 5cc8ea53b9553ecb061232fa3da7a3408282373f..51ae5bf2c039c2152ef37f8c6977fcc48a571f78 100644
GIT binary patch
delta 3522
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

delta 3522
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

diff --git a/tests/certs/cert.pem b/tests/certs/cert.pem
index ea67bc6..455188c 100644
--- a/tests/certs/cert.pem
+++ b/tests/certs/cert.pem
@@ -1,46 +1,46 @@
 -----BEGIN CERTIFICATE-----
-MIID7jCCAtagAwIBAgIUN0zp2dBP3WkwF+SwIGkLBIQPw7owDQYJKoZIhvcNAQEL
+MIID7jCCAtagAwIBAgIUdLInHjkevRVCr7I78r5++6eSrZ0wDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEgMB4GA1UE
 CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGDAWBgNVBAMMD0ludGVybWVkaWF0
 ZSBDQTAeFw0xODAxMDEwMDAwMDBaFw0yNDEyMzEwMDAwMDBaMIGdMQswCQYDVQQG
 EwJQTDEZMBcGA1UECAwQTWF6b3ZpYSBQcm92aW5jZTEPMA0GA1UEBwwGV2Fyc2F3
 MRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxDDAKBgNVBAsMA0NTUDEUMBIGA1UEAwwL
 Q2VydGlmaWNhdGUxJzAlBgkqhkiG9w0BCQEWGG9zc2xzaWduY29kZUBleGFtcGxl
-LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuZ/xV89skGlpud
-6WSYB3UVBnsf165/2o+W+e1NW5xjoYQ8F/0CXdhUsd1+adZLtOsOIHp00IMUJ02g
-ZAWe0rIpbvutI0xwW/L2Y24yVY3z3RAkefD0n9PpNACC8etbYABcyFzmS23Sp5X3
-IFwl8AUfoVVzxjQYHI2tLztVhITm9iRZU0G/oyC2KKPcRijtcPRnxf+PeBu9FPry
-K5ncdtHci7qAc8zojuG4S1DpvL08oj/+Nz8aFZqhPf9GVzxTy+GwaJNjU4ZP9B8e
-/SJwsicAtpw7+OQqUSzXHG71JshFBeDBBAiVvIO2yBHVJnxkU2AUCfESywTVQ48g
-FCMDdaUCAwEAAaNiMGAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUDb9z6FWiYrpDH6hU
-xXX2E9Q7C5wwHwYDVR0jBBgwFoAUHBLahjYtoBHqaW/WkYJcHywkb/0wEwYDVR0l
-BAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggEBAMdNQX8FiW4sp8Jimmqw
-uJPXrEIA+PExLEIu+Ppvdylt3g0jMKwGeMl3IgItuQmatcYAAW51F8jVAhLJPmAj
-j5zVDrL085koRkHFWcmQmg72MLPHiYns2FBmNcUbmGm8J7zNMwdux7Kq7Oyu8zjy
-yWaCTkLRaQZuKeiPCjoY1s9hQGHCJuisIyr7RIj/sXJjY79u07K2+BZhimwkDi5V
-qph92/mM9jhdrnntJNfB0MvmmqyMP3x/+5ZRQY3ZH2hmKQl4BA8ugZ+5cVvkhUu7
-i+dgTwyiVxE6OoBJZG/DP2Jqqm/cOdV5e5iD2qk4NfMorcU2vmNLpJM/DqSBSppy
-s/U=
+LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJLJ3Vty2lgJw+5
+ouAV4ZqkIwvfWPcE7zD1CfQIL2802jVuCSTkN9cfFVYMKFEPJxQWJAKoCzr/Ux8z
+Yt9BXO5o39+z7umLKmc6pfrZJ6kG4msrMjZv36LsCQyfjUc1O9H1aiOQEvRQY2pF
+2v5dfqRMrAqH1ESQHCggUBjElWj9oMFax8jyO7JxTzuttOb6mhDmqz4q2u4LwZGH
+lBofgOAB54Mlv41x7dDh85i/jayXuYYmsjRwCuBAn14+D2zImyPDx5UaUJJMzujo
+QriOZ4KU2dHRgy0+vd7ZbrL1kRY1axyNQ+jBk7UHnlZZ2CCkhBoZIM6ez3ljPwgr
+cpg0RtcCAwEAAaNiMGAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUBxPEs09WXDxGqb+D
+WTFgcUQd0AEwHwYDVR0jBBgwFoAUngWsC1vhQH9qDvTZRE+KJ33vOIswEwYDVR0l
+BAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggEBAKK2e1s1puUFbNjglopi
+mKZ4Pks2zb6LVUGG6Q4XQ1dWe25ovt68jWv56HFyCMI1N+L8q0+Ku2eOfLObS7Ej
+FFRUWEIXDgipryDTGzoWRM380fuYpL/j7Rt1/xmIHWTFibf/6gK/naRXsFH3dEbb
+7DDWQ5pAd2d60dB+ThUEIZQTQd/926Kuk5oESvP08fXMYTuiYARypG1gmiuvxQ9N
+mDJP6CHxyJR/LB4tb0RAqnLkVsXVBDnRYWdEvkuhoqTtbhVzVbL3mPeEmVYypxxd
+NdrHpU5zmxFSin2T3F0TneNcT+MDV+dQcWyTGNYs/fnmo85LsiakJixGv1qx8PTs
+8iE=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/tests/certs/cert.spc b/tests/certs/cert.spc
index 935926baa78629997a4eb0d55a2f7669c6a9657e..b5e464a07a00cfa4e7c14cf15f71c3301d1b510e 100644
GIT binary patch
delta 1284
zcmV+f1^fEb577@7FoFlo1_>&LNQU<f0S5x0f(O1Zf(N>h7bO&QvL_xn9=#Ppud+Mx
zzJB|slC7PwP*MSZvP&m*ZOdt3Cl9%z;1%JTq$3O8SoZ|)F!c%a2rq9m+BI$oB;+^O
z9~D*%C{Yh56c!``s0%v(Qy(*8-$7jNXy4zn?&*svXF8?&*(a$6;%h51HgDge><J8?
zjYl;*(e-L0kP`GzV`@d({#|~gOsoor)I^XRC?HT6#Fc1&{h+~G$H?+KvT;v4t+eL)
znh@rzJ}TPo3&D|xlo}s^-~s1@CBKbv?a<-#n7@szm$`-}vNUiC;6R^VJ`Zfjn<K-=
zl^RfzOwQ=&Lb#4+f|S|O(St2Mz24bwvh|S`HESG=L+HViwFjP7S=b<?gc=zj&YsVC
zV?PKha+ow$M%MxZ0RRD`VlZGZ2?hgI9TNlsFaR(e1_M<c4g?ki6bBQ;vrkrBJVvR%
zgIO_PaYP-^0Wcp1163U(1Q;+DfE1nutP5M=K!0iu^w~sDiYI;VIE$0^0x5r@wtHJO
zrsV}}*x;6mVwk3QK1(*uzKc~shUpF$LswRNZfL&Vyp3!5=y7rg!ZkPI{HsrjyJwDk
zvztq?BNS9rSV9*L2&u0i(;GS#M9uus`<SG^<Lw)D{~3rKWW|ZM|LOw2oupT=QTKF4
z+w3sbLz+N$XL`}leohqxA(Vd;LErt`qOOyg1WNPt@%7AMJEC9&a-?lwnk%ox4^5ad
zPv{}>$drF99xZP~K&o=&R>jo>IniNfM7~R*qNMF^6?0Xx_n7yDnN~8V99=cq$E8kl
zn-NlqeUsc>6P@E+PvZku=TLEMlNi=4{rTpj&P%c;q$Vszzgn^I^z0?_AuxgitT2KC
zl%N9w0RjRPQ1F8nZD88UO7EU~9hD)eEJ2pjvqA(60e{HLHC}+UHAMMh44sLys}q!#
z1gSX-j=}2N`hX5C-!@6X=-P<+Bl)DrQ+2T9Grt;~^cw1d9MD|Mj6K*V@4v}1TQxG{
zrqPm+Ni0^c(3R2$d{AilM_J|SG4((i<2e%)_zF1KC|fImT~OamErcP#hWh+W_oNJm
z{^*{~OMg92)2*pu45@yr0PySzX$Igpzi;6LW*&+qoIu>w(!UihAKsr`mM7)zM-o(I
z3eza9?Md99Zgh#ju`?96FyS^e`>B;fk~gS&riG0eOEJ?!yALmCQg>9qlxY?6mrY&o
z8rfzPvuK8oth4*9pBV9i1%YuJN`|L=oMeeoTmtOVlTHRGHJ$~m3tQnpe`*f&*+fr@
zCw=cYi!dJs163U(1Q;+DfE4NMG2AjKZ66M%(IyO8STsV>sQ#0y1|)w!#RaY`w2__s
z2O!u@te}lM)F0*a9>t2H5u_n*El{}DZqp&i;-HFIuNCkUQ6PW7J^!Hpkfv=~bES>U
zZ9EYh`(NM(txVs|Q6dTqL-XJ5b@s`rB<gD%QZ~{}AOA8vY+&m)udAM98g#-O#rAb?
z1C7S%V<~^7*{Wz|gZh6J%6zR`QZCga=&tSZ@zwv9%cQ)Znv=5tr&ob;<q5?udJb}&
zSKMF=eJ0)yf)cVfs>6xyS04=ipAI~`G4O0;7?|sWD#B3Xj(+|=SE%dKUUbYZta9Nh
ucjnWu!9On-_({-{t#KSk(6u`qb$pN+1$W9ivXtR=0t*0tZh8c|;4uJeEmz?H

delta 1286
zcmV+h1^N2X57Q49FoFlq1_>&LNQU<f0S5x0f(O7bf(N{j7bO%oOzGLsPu*!S7v!)Y
zX$u5|55u~#P*MSZyP5wLeD=u(mYbdFWS9qa6$X1B*RFrskCyrEO<SB}p@cja{Q_Os
zRI%NDY1T`$>kc4#bkKtoCrzMa1)kEfDQ^3%BTR5x^7dnHGF6T9-4G;s@bsV4=`;X>
z@#|Y)09?pi=1XnTr<M00TqW=YAE8xq#xxiljjb;`RfL3p=Jq66Q$fF@Ahsx@+(szv
zaP()z|BrYZy%hTLE1BGO(cFu=fOE{~j^VgVQ0ctAJfc7TH$NH`nxQ@aMpryj%i*wS
zlVekcPxK!i{UUI(CjhpbJNV=(Q7qRSZuKU}MFrr&1PGP9gSN;K)h2voQ(zPc@e<1f
z)kBXU6e9yxb)^CW0RRD`VlZGZ2?hgI9TNlsFaR(e1_M<c4g?ki6b-*~=vAU(x<enR
zRK<1n6Vy8koG>2-163U(1Q;+DfD{}O+J-hQpb_e6Z`P55TpuhXZ~c?@0x5sTO+kMJ
ziEb>X!eW|gu(*@gtU>_z@i8nyF8KOycPVY&4I?nD26)MLA_6VB37WOW00C}w7s%BD
z63ISbBafWb4zl#~nJ7j<#aYRanhy3bv&V^v?ATCdHN_j4X}l-A%`*pX$Fi#I?5^`T
z^2ug`PD0UX25u?nj|w^%*3W-oKw-ir=&U0u`$UNUv2tT$zi!jAw)hrdifkkfE>)_S
zecSnr_BdUxdF>?E!O+X*nyidJe1H3vQ9+H_A82MN33vn#E`gu9aa-htOS_BbU{4I9
zR}nfofJtO;!#`qbs&Cvm)p>iEgW9P$HS;K~#WucUOQe%O4y1ufnsOzx^)P}1tT2KC
zl%N9w0RjRPV4y(8>ld<Yy06bs4Fy$>BCh&SvqA(60e{dS*FD`D(uc#G)LkN{N;U;6
zMkj<Wduq(>N0H)kCY9_&mbxH-DJ`~wW2KyZ1KGgN7e9YMZ$Udc%@~17;$D@PjybgK
zC<WUB8oT%`^iOk4wvXfD%sSU7wfh+$0|c&sdRF!dn*f7Y!kzrh$E16hYJ$*#%*(6x
z(E1B&D}Q6TVt70c-EC{mPsu7^k$2ZvGd{cQK~Ke1<FI6cw4EN)X)DMRWhz}Vb5m*K
z!bZ&X_!XG}5^g2bm{Of+7azY-RzyNoCe(1}hU`c(;4-mFdP0=XBDnQ!?XcAHpq;{v
zFNHXT6jDV{`h(k4ZJY+zJRzkSd=|3j>Fxhys{&hPlTHRGH5?M!hBhsr5$b7g){%l-
zA1owq{V*Q}163U(1Q;+DfE05X&X`6U$MhCO!i<R}{f}hygv67p1|)w|Nfiw<j~64^
zSLIxwwY)g23;+0f+$^URR9oN>3v!@lq=?S5tp%Wh0UJo@)3Fyzoy}Wc1<uuXvn9lJ
zr2W4--wyeJI!<52A{X21MZY!xt(BN2pT!L!*=~~0w^+-H=##8dMKDB16O5sv{a|ty
z3&!NO?!LKS{8#UXQp<l%NK8EXFi9AiJ!obeeR^+fS>`_~7|-@(Ix1t88yYc0)bOR-
zT`~Z+#_fNjmJg&4rMRTnQCqnlS}8@nR<C%eYnP&-@9u|_0<md4(zO&+-xd?uz^PF8
wZP?AMV~kp{S28!<&Yu~YRh7fy`77w5)D@I&*h%OCS8{t$Gav?5@1X!O04TOne*gdg

diff --git a/tests/certs/crosscert.pem b/tests/certs/crosscert.pem
index 7e5184e..61b4565 100644
--- a/tests/certs/crosscert.pem
+++ b/tests/certs/crosscert.pem
@@ -1,23 +1,23 @@
 -----BEGIN CERTIFICATE-----
-MIIDzjCCAragAwIBAgIUEs90042H8xAMSoWSfQcuDLe/vj0wDQYJKoZIhvcNAQEL
+MIIDzjCCAragAwIBAgIUGjZdQYlcAtlqZOsQ7eWRimQ9PIcwDQYJKoZIhvcNAQEL
 BQAwbzELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEMMAoGA1UE
 CwwDQ1NQMRIwEAYDVQQDDAljcm9zc2NlcnQxJzAlBgkqhkiG9w0BCQEWGG9zc2xz
 aWduY29kZUBleGFtcGxlLmNvbTAeFw0xODAxMDEwMDAwMDBaFw0yMDA2MTkwMDAw
 MDBaMG8xCzAJBgNVBAYTAlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxDDAKBgNV
 BAsMA0NTUDESMBAGA1UEAwwJY3Jvc3NjZXJ0MScwJQYJKoZIhvcNAQkBFhhvc3Ns
 c2lnbmNvZGVAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQDM11GB+O80QZUkuMaDo4wsZGiBQlTIg5OY7i/WSc6nVypFTwD+Pj0gFtpZ
-FCYngOv03A0oByskXtGCub4f+4OgsVnhs2DhXQTApjagf6lDZj5axrv6kT6tHxjK
-jG/UxsiV5ohmTxbI4QNA5qXDOFG6m2f7D7sMXvxBM4xUHuoagHHf8Sfyb4rNzHR/
-JkwfQPxqnHZHKS4gsoul1WIo1a/Y3WHLarCgL6tob9qqaJN3wTE1mEItDuOc89wA
-X7Swqwtqst33mAyP91HpbbGIt1mPDNdJ4szshMWlwPF7DQguKcvhslKmuLSprxsi
-i5nkhBlehuZ+6krP6pGeyhP9W+R9AgMBAAGjYjBgMAkGA1UdEwQCMAAwHQYDVR0O
-BBYEFBB+ke+OVFLvAqrX4g8NtPN4nbjSMB8GA1UdIwQYMBaAFBB+ke+OVFLvAqrX
-4g8NtPN4nbjSMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IB
-AQASfjHs3EwVo/d0Jhgf2YgerT/clkvKIPOiwz7XsiFAKuGWfT2x15sW76GAMsem
-ohQP60y6cmtrFNh9BFkOrdkBwqjx+VucrZaqDV1he4xW1eh+qDe1qtu6J0JBG1q7
-LX9uk+W+V/8ZvSnGZP/T3NHi1/lzEPBLth46K/aAdNxeB/EjM3uTryAp6erhd25M
-J6EuN42zVp04pl9XDQxjySEWaFtfQYa1bmUe8herfQg51onRMqHwo7nE7tlt9SB1
-Ch9KNlraY8N0UVEZGzSPpvOoHeOnYWBfZ9VqIyiYffL+Pi22dW9Iy/HMwe8lXTYu
-aMdAj6l4RFrLCH3RyaRh6fH9
+AoIBAQDJU6WNMOEoErLYb5Qc7jsvVgruPM7DJTZ4vUpJNYAyprSDHciaKSa4SiYS
+84Mxc6tzBoJvKOAwpxzzONOqPVWUd5J244urgvfHgSGWsbA8bakiIYlETopnecFk
+B3ZELR33CPqIbpYYMYujhPGFa1xxZxFykJ1iBhZ8Gh3W4wHi/2kW6hTQkihMtUPP
+Xxc2XWACj/tz22OSdgNZcIfhXiy2HOuPch+0UlDR4UmlJIR5aet1y832hHoeeevo
+qfhfGOm9rRf9nyxKDwTyaN7JVOb7A1k6KJEJoe1zfIwT56mgoA433iUWFMLB6hKU
+be3zV1vGjk77Kk7atcvEMTRq+rwHAgMBAAGjYjBgMAkGA1UdEwQCMAAwHQYDVR0O
+BBYEFEXgglEcDh+8oCCvjlxrN/Y7C4YwMB8GA1UdIwQYMBaAFEXgglEcDh+8oCCv
+jlxrN/Y7C4YwMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IB
+AQBo8UqUEjxGQCVU/IgphwKA8Rb/uAyBYm+AjqFDs82lA6ze0n08Bj+eciVkxscA
+0deivOC1sDD88QkLzSQ9CPk4e7+m7nx5SFUnUWY+o3ln+cTbGSM0jW9hme0LtHXX
+QxDSKDBhQonRQk7lQ+TwFR7ol+y5SdZy7YQ+v/25qO6MMQgSPykJIa4vF7lwrYhu
+qL+1MJx/ryTbCUExcKNNkWHZJRc9ZvtdWEHYpBSZl5xmJdKMLnHAu5uv8N2pezzp
+PfujldZky7bnERaTM+bf/LvKXS8RfQGrCLu9QjgPVa6ysZV6gXTsEtwYh64vucjS
+s7IhdLxfiT0xYkK4JWrRLc38
 -----END CERTIFICATE-----
diff --git a/tests/certs/expired.pem b/tests/certs/expired.pem
index 611e44c..630f099 100644
--- a/tests/certs/expired.pem
+++ b/tests/certs/expired.pem
@@ -1,45 +1,45 @@
 -----BEGIN CERTIFICATE-----
-MIID6jCCAtKgAwIBAgIUJfIfVOecAzqv4xy+JOBcy5YzjEQwDQYJKoZIhvcNAQEL
+MIID6jCCAtKgAwIBAgIUdtBZJAw8/6JVNMiQpN3PEROI8rowDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEgMB4GA1UE
 CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGDAWBgNVBAMMD0ludGVybWVkaWF0
 ZSBDQTAeFw0xODAxMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMIGZMQswCQYDVQQG
 EwJQTDEZMBcGA1UECAwQTWF6b3ZpYSBQcm92aW5jZTEPMA0GA1UEBwwGV2Fyc2F3
 MRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxDDAKBgNVBAsMA0NTUDEQMA4GA1UEAwwH
 RXhwaXJlZDEnMCUGCSqGSIb3DQEJARYYb3NzbHNpZ25jb2RlQGV4YW1wbGUuY29t
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5n/FXz2yQaWm53pZJgH
-dRUGex/Xrn/aj5b57U1bnGOhhDwX/QJd2FSx3X5p1ku06w4genTQgxQnTaBkBZ7S
-silu+60jTHBb8vZjbjJVjfPdECR58PSf0+k0AILx61tgAFzIXOZLbdKnlfcgXCXw
-BR+hVXPGNBgcja0vO1WEhOb2JFlTQb+jILYoo9xGKO1w9GfF/494G70U+vIrmdx2
-0dyLuoBzzOiO4bhLUOm8vTyiP/43PxoVmqE9/0ZXPFPL4bBok2NThk/0Hx79InCy
-JwC2nDv45CpRLNccbvUmyEUF4MEECJW8g7bIEdUmfGRTYBQJ8RLLBNVDjyAUIwN1
-pQIDAQABo2IwYDAJBgNVHRMEAjAAMB0GA1UdDgQWBBQNv3PoVaJiukMfqFTFdfYT
-1DsLnDAfBgNVHSMEGDAWgBQcEtqGNi2gEeppb9aRglwfLCRv/TATBgNVHSUEDDAK
-BggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAQEAvzONTsW2MbOqmEDgBHxM1nUS
-Ov3p3GgZZveteglDBK4mDiCTMhE6MSflmcEFvVRnYbfVUepSLu1crXlBIyj99eRy
-MuGdo+4/s3gpi25zZ7LPaxesiUoFIVNPr0cQXO/pm/T/D9Q0XYP6D+rrK6VJCofP
-JcmI493t9vojBlYdac8NNRt3tJjIAD4w794jpASAluAgy113sS/Dc5k4nRlmMEBU
-48DJqe6HnO0n3cKSP1qSVkGnA7/EU/w0DIhMJBamERqDWfLWeo8RcOA05xKslTRL
-pWPuzNpREN5MKqCpy4auTq5CP6YXRwQ+FuGeeRqotw2usUXtwTOO9KV61/PKpA==
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsksndW3LaWAnD7mi4BXh
+mqQjC99Y9wTvMPUJ9AgvbzTaNW4JJOQ31x8VVgwoUQ8nFBYkAqgLOv9THzNi30Fc
+7mjf37Pu6YsqZzql+tknqQbiaysyNm/fouwJDJ+NRzU70fVqI5AS9FBjakXa/l1+
+pEysCofURJAcKCBQGMSVaP2gwVrHyPI7snFPO6205vqaEOarPira7gvBkYeUGh+A
+4AHngyW/jXHt0OHzmL+NrJe5hiayNHAK4ECfXj4PbMibI8PHlRpQkkzO6OhCuI5n
+gpTZ0dGDLT693tlusvWRFjVrHI1D6MGTtQeeVlnYIKSEGhkgzp7PeWM/CCtymDRG
+1wIDAQABo2IwYDAJBgNVHRMEAjAAMB0GA1UdDgQWBBQHE8SzT1ZcPEapv4NZMWBx
+RB3QATAfBgNVHSMEGDAWgBSeBawLW+FAf2oO9NlET4onfe84izATBgNVHSUEDDAK
+BggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAQEAX1Ar7jRAXdcA0Wu37yRi58QN
+hpa1VLXadqfB+i5Y4e3DzqnMbpkLWsFzreC1AG0RjLe52s4PRUE6boGlpUeAyfFC
+Qu2Gl/REVWwMCYV8bq3vQZkYQjklAXCQLWFk5TrzuDmBcV8+fY518nWw+xmcYwW5
+5oehLsvB4nxoBzlHgcdDwS5b2dmpCKCbZFLU9aA9DjAVvY/9B8emyj7Sh2sEK0Yf
+xwHlATTVq5O0/9tvVZQmYsbpS0iCRGBM+spTEhDT4WGsaRO6wP+Ucgp6Ym3ahMvz
+tHME3uUanKWVoDb69sguGZ6KlnZZZdIX1AJ3dlTXCrzEO9xsoAzqzsxVJGrraQ==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+AAOCAQ8AMIIBCgKCAQEAyMs1XoC0NUT5YgydibOrE5SWBKk5C47B6tv6gA4t3zZJ
+wejaiPkj+aTIU3Ww5DO/Gpz0GuqCHNBczIw92Cfvv8kyWzUy46bRkpBJLFav0JXS
+B3xQaPlHWeXqMfVAGuM5ExT4CjjYKFsrgV1Q300thCHBhvr8TPekDIf+6J7NSz1P
+062pYgypfqsA8OwKaQbgOL9v4QRmHoolnEDc1dK/FS4f3p9dlifl7kcSVGQK0yit
+7Uncn250icCxMxS3MOE2NfuplUOSN6h6poWNGUsx00O7Dy9nUndUwJRpFfKXTV3v
+GtlmFLNoho+ss/usnxjxggWBcRtKhqd8nGSJUlzs0wIDAQABo2YwZDASBgNVHRMB
+Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBSeBawLW+FAf2oO9NlET4onfe84izAfBgNV
+HSMEGDAWgBTp7DHcMiltHw6m0SYMWVg0QtGo/jAOBgNVHQ8BAf8EBAMCAYYwDQYJ
+KoZIhvcNAQELBQADggEBAD/FBa4stJGd/Acg2E2soI071B/l9B7FiqIRpCFuLVC4
+1m7TIcjioIpZrxXwE1Egf8A9/6D/kKZtWnOljcxtPBEb+1/gB61M381RIgoMQ/Pf
+7XX2yakk6mscUjbSTR//Mj1sYOs2r6ueZBp0whzF9nVvA43G6WMpf6XZqmhlg/oV
+ynytW1Iu1SPoru3y8dX/lsukvKCak7MAp1eBcuUJxS56DnKcV9xgC30m3g+CErI3
+qsOJ7lcfDP6fDjy7MfBsZBiY64MqwlDjjn7+Pleo69JedMwurHLhKnfm07DBPy8X
++EnQk61xHEjQtTsddXyQGQV3yjqylOF2AgsAf256uuA=
 -----END CERTIFICATE-----
diff --git a/tests/certs/intermediate.pem b/tests/certs/intermediate.pem
index 7f3bb1a..f2a77cd 100644
--- a/tests/certs/intermediate.pem
+++ b/tests/certs/intermediate.pem
@@ -1,22 +1,22 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/tests/certs/key.der b/tests/certs/key.der
index 2224d92c3e11ffae0bf9468901256e84c6bbd48f..57b743625d1081c7b8a0b649f2047c06c827174f 100644
GIT binary patch
literal 1190
zcmV;X1X=qqf&`)h0RRGm0RaHAODA=0%V}UI54ob?72%qsBMaYH_XO`S^$GL{FK;y3
zHEszc<TuwJ6;=!=Q4c2+79;|w3p)Q(A2VX#L0s-=-`}(D>5D37I;HyAC#eSFYb!D~
zZ{MQq2@Ic&M>RXq^=c!K67*1GYDL=qU4EoYtO|$JM35XPAW#^@m1zB-!CJ@2@;kC|
zPdlx&=K7it=Bqv`+U^U%k%yETAAsNi=Yu7`jdAVJ;q#ckjjWfsh9<H!a0=i+pI$x>
zY{;7<!^f2xP?Ai}=;%VYj%R|D+0oI1Ek3>8*>1A+krp*;9F0Th!IQNIo>p1dAf$vE
z86eJ{&v|1%2rF`!G)C6~0|5X50)hbmB!7+!Q}vh>zUomfE`dxn!}JKUC>$w1ZQnbx
zVH%XdRSGKvWH9sHZP$oR<kIsmB*lY?r>x}O@4YKu$|NsI{@xXZSQ{q^|0mjFhoQdE
zQTc9GQ67cCY+y~@JEou)CfojISx^WAjMi+1a2w;8?zt&WwEc7<&vXs(gbcCyA?7v4
zJlyRI{|H<{eewVc#3n(76N(aco0f#^d+hJp1aT|dM3C5TDKo5{9(aa?z4Nh=VrQI@
z>xLtZ&A%#wJ;N?0U0+(BqfjW7({T`QXWR^3=*=gEsPodM!&hBW@ra6i{d8RvA?F+W
zm6*FSJL^XgQx%F*t$ZS3jD<FV0)c@5>50f<4QC<k>S&G3dsI+CF_D+UKXnH-ci#`s
znV!$v&D}B<>TxVVj6d|^hSloaY(JQu=9T+cv$zKU-eYA*G+s{J$eao-CN#&@UDjf&
z!A(^eNxqZjq=9`9!rTQ57V+L+mpQ_y9|v_kD6rpD7up_k9<C0Z0Baaz_)jvq0)c@5
z!*L+w6jRN*hS6ok+nVxmH-`z#r7@IaBjnX^hP(i3jYuN69sm}n&sRK!cUi}ksqK+3
zDfN!fHZlQ*aKJ+rQ<fL#eUESB+qQnEA{zu>O9HluxD$ry*Ryw>GUZD89IxMdnP-mi
zB_W4%`4#@IY&<kq2vM|vd`{~cDZ{=G0)c=-$Ig|`$O#MaMae1n{eF>sUV%!K$5nxp
zhV&xOwoN0!dm4w9A*8dNjt+Pfq)(R%|K&dMGsKX25XVoHJPPni>bO4ACZD-{=0d%N
zkF0U07uUoPC^YKx0rnSwMzvf6o6T#t3wM~U@Xs+J_dCizW%>ejd=(e6Kw|?VB5_#)
zfq*`zyVat$qZ5-j`WcQVgk{TFT}a>rp8t_}K>W-U<wZkz#<!!^e{9&vth-d<(Of5&
z<DG3JE#8hHMc?JIolrpsvo3RDQi_M$UyBhT{3_UwOc|z&j0)F%&v5hV5;;(f31&oX
zu%ntazliK-qPQeBz{t)2^N;09ACSqW*!=>5fKrfpobeLe+2im#8>DcjN)`;4`o+gQ
zVA_&NqQ&#MFYUJAQ`k9E<>;7cmkZP}lBZyU;RV}P;Kx2h3_mqrXEK1eCS{`03`f@T
zD~_6Ai4eK$rsJ2iJZ4XJGMSs_F&E{z<}hRg7**>8jx5wx2}U9yinm5=7LH0OHuR;z
Ej(R9PM*si-

literal 1191
zcmV;Y1X%kpf&`-i0RRGm0RaHJng11h_Q?j8o1N)om<M$g274dZu7BE(mig^XTbyH|
zggh7h0$tctvE6=Y)=RYO4j_7T(1R2wO`v22p3<@@Zu_kxOmJKB_G4}`RgLrA5F~l<
z^q<q|GysC}>sw#|T*zGJOKsApmG>ZACGZ6wp;dFnG#DI>tuH%OgoNhyBw15IzoQ_w
zD5Km)DD80cXT|@IcpJSG`tmE8+;-92i@Jbw%;=8cxJyv!yuCc4KmIpA8WozMJ^w~m
zJX6czuxOKGQ-)9UA0GW8aIz-=wwyco<SJ1t*Boy3Cdfqv;K2k4mAr$t$Pv{hd}LE#
z6bbPX%LLU!k02By19hbW0|5X50)hbn0E8cO^I=OpQ4)y`vF%dT4YYk20ofSfn!!E?
zPX&lupdW<I{pSYXsTds`ZHI)BRUM|8VI>?S^zf-qD589{&mA{7u{(zTD+Bgh7^MPq
zGbf?a&c4vfFQ~F38WrC-KWKsP>fM%#1}<3x?;3XPkM1(%$KUgqccY*%|BSx`380cJ
z^MJ&z0~@$b?;~+(rVTH>ih}`JHIofiG<dkdY?B0OW4AjiAvZjc_^LYE07B?BdJujE
zsDTsv{|3<83yQ*or#r-Oi$VmH;a$}$9>*(_pQ7?YI$F~QE32o34*-c^{6~Qt`}`V^
zlpD3_)E8n^P)S-;A@!(oq9PqW5dwjM0OhgQN4EES<1+aW0~U$-k39d}*N9vPJed!~
z$OVStmgCemA8t4(e74{Yxfj^;5WBtjKmY5o-r&Zy$1F_Mm3a=owfeudlQewgP+5rB
z{@y$tGgj}26$(d^J*avx%*9U`uA=MDH7r0m7}yKPzmcR?KCZ*QVy&}9)<hsR*8+io
z0MQl_|0gQfd+z3Yyj0#6Kn`NXP-hS|r#JowGL9XR5-W2q-}dY)wy7gGsWw?zpz>el
zQ3Ytq+(N=^g4=9CGbr223w&6*x~t6f|9VeiA(O;-MSkh}Wv<VI8M9R6x^rrii0IKs
z6_ux0ul?l{;cZ-6Da{*nv-*q3Z#u&W;{t(z4W-d~%U(?wB+)adTTpvxjbKiQ=j%V}
z)74@H*nT-YY4H>OE*M-NeC9Vfyf*>LKD~V4pq?s)X{n^=UbK1yRhtmK30D@(3{+Qh
zyuK>diSgWWPI?gq-voW7_&U00kXf+S^@}-HnRtI}0D3~U89P9HocXwTIECzDT+QVr
z0)c>2)jIaA7^7dHu`el`36%Iq3|Knds0Ax8>m9AChqk(`OF5r89R`K%nI1<iaC6*o
zar_~^K7SwsaC;k=sP-3fDRux>@+hQ|AJYDXX7Jpvr`6?OcBdRb6dC8E9L2owYw8WT
z^S7v1;mS~cM{G(ploH;t%W-CWZLx;Wlf|n7fq;7L2<Mgx6V6Hj%$-je6{IzyE5Z9f
z&aV?iFj*-72UO3XcOIl*!Q-T@L9EZ!`UoYdrv2Rsx6(ezLsR$@5Tg4YX$Vw9t{6yV
z`b8o%&nc4?FSrAbpMCWW^2536iLRxlxe+aCD{>GF881PHwcz#<;H^CT$os<_YyYdQ
F!VEnkJM91f

diff --git a/tests/certs/key.pem b/tests/certs/key.pem
index e22154f..0306c69 100644
--- a/tests/certs/key.pem
+++ b/tests/certs/key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAu5n/FXz2yQaWm53pZJgHdRUGex/Xrn/aj5b57U1bnGOhhDwX
-/QJd2FSx3X5p1ku06w4genTQgxQnTaBkBZ7Ssilu+60jTHBb8vZjbjJVjfPdECR5
-8PSf0+k0AILx61tgAFzIXOZLbdKnlfcgXCXwBR+hVXPGNBgcja0vO1WEhOb2JFlT
-Qb+jILYoo9xGKO1w9GfF/494G70U+vIrmdx20dyLuoBzzOiO4bhLUOm8vTyiP/43
-PxoVmqE9/0ZXPFPL4bBok2NThk/0Hx79InCyJwC2nDv45CpRLNccbvUmyEUF4MEE
-CJW8g7bIEdUmfGRTYBQJ8RLLBNVDjyAUIwN1pQIDAQABAoIBAQCEH3TzYUs9URKJ
-DrHtUtUNtH0YAdkY4JrBPgdPBYhboB+Ezf3nBt+pGB0cbYeEkVUdpplhJRwk9PCp
-TyiifLTPHTc4sTuG/isD9lsYpQJ0Myeh0s6+0MovqLIjGhXfOD9oge/q3ZaKBi5Z
-A+8adu2P7jLlx9/zmHejoDD/jL8ECaCSLPOAxK4DG7hO7yNxaaYNL72KgwFZNZMN
-VjR4uMFskwRpY7c7KyE3PJH4qjraAELoNXoQfgWogRP7/wbQ2wuKwoSnO8Rwi0IE
-lOFd1SsexyuTn6LyQjpa0wcrq6eEDwCJYPxHgRz7/BqQlBu16dQXYlVQSVpUIfWo
-cqIiHT4RAoGBAOWx10e293vjMvkQAxaJ+Y88/9zXiFwHPJkPxMgFhuKW49Q2H244
-KHy24A65F9jzELu9+D//67He4Ma1xyxM1ZV5Dr+1+r+2kzR85VBZiNj+3jwdM1bv
-iBUKR5I9qHowzMVPGa6i6881LEA5GNgLx7+RpFY+rsO+Yq2zRdZEIDXXAoGBANEW
-Ev8nKtd77uZ7vFTeFkAOYsVQZxA1pzf+BzKOHZISK3Mu3/bsK7apIzepNllZoPJf
-5lEFaMrcQsJsgttsQTMo28oLfFi6uqvM9f96T2Ihk8R4RX7p+mWuz4MZs1TkunNq
-k4jo0UgVladYr/3lE+FtXFopzRt0s/qLyG86wwjjAoGADaXResteTRgk0TOoW1B7
-aY1gTojn6z/q09ViBdh+OTxp8RP+LhhcH3zmNzm8NwHKPr184KCeKoVpqaTnXrR6
-BFWbEL0JVxbMDFRXc7y+KtaJ8dxyTnoRBd8EfaX4OrpnkFmw1vWLOVaZeH9sAHpC
-thk7QHyc+bh4OIXsYlzN5SUCgYBT1Tr2rRijX6CxLymbCZT4SAxYOt2oBSsv6x2t
-qoe2uqxLOZ85HQaF7ZkeRy1wc9xxcfwhvj5/IANwexuYqPYXcil2AFbyKKSSH9L+
-hWbw3K+n1eVfdqccQBQZ56Mcxbzwa+oNufO3qFfhylB+R2xKNZQS3rHLcWZ8bbGG
-z5PFqwKBgHrtCOeWChPOSgHMnU8ZFaQ1oivB+0DOrxNFMFko/wdUz6B3HqRgweOk
-rUGsz9X6CCWppv3dCbfSPslDU/gTEKL7HmkIVEOuGEhl+kUiNM8pkxUvuAOPn331
-DfLDueqJrqWmuREtaStyEAwZL0GHteD2EeCtPPzI+8Mca/+rrcIM
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tests/certs/key.pvk b/tests/certs/key.pvk
index 91fd5d929a009564f694929acef2e12cb9eda3de..c39b68982c6a83d021a71ce2cb64089309188aaf 100644
GIT binary patch
delta 1168
zcmV;B1aJGS39Jc_EPvNVG?;QL2tQ+a&z{a885)G7AlO+}o(Hv)!RSMc9BVZek@d1}
z+1|ZAErZd~*_483j<`bT=*~=%P#TrT!y}u>Y!5zOpFrRWa5S<ehPjuljlY=l;n3}I
zjlU&>=K<h=9~zX0k--b@+A2P)<`A0t=CrLlPjRw4^2o<p!GECrXqChmP#`EAkVMpn
z3am_|eqH|BMQUSE^b(LGYW2}OHAjt~3<>O_-)}ZDD{JBgsVCX`r8;LSi|OvO-`{BN
zTtVMrGapm`It!=*Bo-7W4^b!#Ruv!DH{>J<ZZ+C8Z!ZY+3H31V1ov3q3nQeO;T7Pb
zxeq5`Y0GVOCx1(_xiU}qWEg7zoer)Za~|3kRNt^DJ#_~ksKPmyU*7Q+3kBT55PgB9
z=99ij8C6Zet76t&)yFg@Eef2-+)iFJNM&Q*00+3USo@Xco|r#u-0Iba;`Bd^K`e3V
z7Bbz<+s~ev&kx^sHV1V-!<UgUK~PkC%#CR3?IC9kVt>eq=?}icDH`iee1No32v;;b
zY_9$l`E!RMCGn1DnS0-_9QsP-GM#s`*Xf26xQVs`OJ4*VBBy?~+v9JKedrgKQx-$O
zaE1XgHqegsDKC-jsg=iBcZEDx&!-ju9=IY%jcNeAhH%y7BV&{?rOXM3H*xZs+r?$k
zhPusD6o2F(al=`0A|nH1K(ZGVe02i)Wk1S0_aQOQ@U5743%6^{n*&_6Mt~Rg0rToK
zC=kTg7pHNokA=NL=6t!ICel8*>PqkmJd{tz5P6WqGx0v<{|lE-q!f4#j-9ilA(n?4
zd%+`3w$CE;hLnL-$COHeUVV{%{rD-#Mez#>$bZh2&c{Rj*rv&lA4=tq^Z(7rz&0ef
zqG#-gzcrepux&(U35`%W66*7C&wbYljEkljOpn+q{2>vGU)zU@Qety1vj;&?ow4QL
zMInyfEhKH7<CiB~(cx6PtjXAHf7YY7#(6_U<rK{PKzNb=o&?}XU0KUzgeQ&}`Z$vl
zqkp!d)w`!Yj=`n$HYrMu7HmehiXb9J30BlBjs)vf7zAW6=DFn;G3T3^GImd9JhYeN
zrtG;8iC~(JEArMy4AG)xCb)nyXJ0ix3`9Q1;8xoO;e%kOk}=c^muZ;j<x@G>Q{cAk
zFS+x@qDhk4U_8gg`j-qAN~dt78$0mh*?-&;@tk^)Qh_#wjA0^ttx}2=QxQk&J2JbN
zmHQj#ArxJ7{d|gu@lst^!=}>nsD&rZ=v@rlXKxU3)0HStqn=t{T_!HWJ%TE~&5a|5
z>yeyiVv(`)y@ZB%9-XW+DR0=2MB6KI1lsTHd+dakn|2b46NN!0#0voOeL`Fa|9=bZ
z+&soL<{|m9421Cwbk8Dm{j^Rgx$c<b8*qkf){FxPP+4aF+a?#FraRqDU~IvK9#K|q
z`BBimp@(AHC;tg28(4)E-u_81B+6eaz3<-Stfz^C#UwBD(&SBu*KOVNFk}QP3RS_B
i8ey_K-)%lA94N8~^uskwfi5ml>IuFSnDtW(j(;SbWjt>H

delta 1168
zcmV;B1aJGS39Jc_EPthS10xh5k3-c2%M$Sk6kt<id?wWq$hL#Ll?VjE-~~m<CiQL{
z*DO&g<oG+Bwg4xxa3cL4AM{U#Q)828u;I&7JXc2lJ)xQv8b3GwKcYOnyy;L&xZ#fI
z%yWRci`>z6+?gx#`V_qzc#r?ZXY_FGC`R0)D7GM@zd=)3B!BkigoIT)FRhIn7&OLn
zRiPgR@FiRz_m!v8ZA<1{$XozmTkG+H05s{-pY-r~BoN*6ja4#kWA^e}a7-hu`)(<+
z(w+rmpiL(fgV1z(AP(!aOV(+A-LX{IT>||VJcOZRoLf!p`Ie8`f3DXbdj=JC2bg5(
zotu^h$@Y8||9_dg*EJwS)<v_eV!p$!K31fWzsC#M7&$;JHP7p!t{G3o%rJVWJ(5QX
z6^QRvGaWqM{@93FQ006yleWM5wZ9H|mDNlv$F;`b-m&ZdKlr`75cAj<xenmAd?+|>
zA2!tEmg0s5$ixqsJO^Be*WCX+kNJrf0}%N#<9qkEM}OC`<>Ls$I&a8}`m=N!%_&-3
zZQ&E;{jXT3l@&<Q=!lbQbGqbIvl)ZWu4Ve^enoi1lObYHdjIvztGc>ad<)9kC^JE9
z+k$MuLfpz|1ySZ-@}OB+HmNrwskSTZ_TMgZD-x0&jxq=SH>WiaXHdmr4nP*(RJ?oU
z?t9lNCx8DE7SSc;&0J#ag*bS)`J8+}I~le@dH`&Hc$ro?i}lv9S&(PCI{2l11m6V_
zdQNiO@rl+dzPxi+R1C}(R|&lkn^gpQv|i_=scD5Oo}l1-y*|nTH@rDF=6oMq7%u)3
z@o79ce%J+K)zj)f>*t70V2x>eP+O=o(Igm6UVqDa(WMQm#gos5v2A>2am%sZ5|lMc
zY)5`j%Hdb2xAVCT>TB@4#T=vO85BSqr*>cE)u*rA@MeYn(jStfDDqYSb}4cf_NbT}
zdvF6Fe?Gn;{Bd#Ib8sz39+~Zh1|2z{IZLd%wuh>%9qTVE1*qLRSPV$`lnI+DFR`Fs
zqkkB!_Bz#548pCe|7#q>`^fw}t>6*%;I)TAFBuFFaw};q5xJ(Nu8Hco!}1OFeV>m5
zxGxoxDbF+_Mfzn(7_LK92x%Vsq7W1KQ$xu<(zglS{idlU2>R8}tU;}$<H2C09(SP6
zR0sbkSujNtug*aG!7HLQq!k%Yoy-AB&VLgMmgflVdJ#SyBBFAr^&wPRNl;Z{7u4ys
z8<db5{QDe%NBm%k01t$xt1Ac7S~^1VqMws1#~v%yUE!1jLW^+3JEw%giVNG&2LJmL
zfv5$35PCJ}LIB!2s`!ySHz6xKw_|AplWf7bcr;cGlQmfZgNnT`4W?;vBkxYQ8-D|?
z#DMcGlAs9$zl{Gdprdz~^WVqiGVYJ<b{g*kSuO^Omfh;_foMNC-xV4ovZyc0(7w*n
zp(itR0;L#R_5&;ahC8u1HyzKke4;2%sqpk993^3yrX5w0gokY$9T=(K2Iu|Fgdd<=
ihy_mvKEayc7})_BeY6eLQth!0i3t)>JxgKpbRUGJLpu`y

diff --git a/tests/certs/keyp.pem b/tests/certs/keyp.pem
index 77d1ea7..d24650a 100644
--- a/tests/certs/keyp.pem
+++ b/tests/certs/keyp.pem
@@ -1,30 +1,30 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,57F833C69C1085A8
+DEK-Info: DES-EDE3-CBC,6DB255395263EDD5
 
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tests/certs/revoked.pem b/tests/certs/revoked.pem
index a48e39f..5707ecd 100644
--- a/tests/certs/revoked.pem
+++ b/tests/certs/revoked.pem
@@ -1,45 +1,45 @@
 -----BEGIN CERTIFICATE-----
-MIIDvTCCAqWgAwIBAgIUKSt48Rg3QnHZPnv9V8IMgkpeYDowDQYJKoZIhvcNAQEL
+MIIDvTCCAqWgAwIBAgIUOpY5wp7DtqsdxII7sxculedk0PYwDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEgMB4GA1UE
 CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGDAWBgNVBAMMD0ludGVybWVkaWF0
 ZSBDQTAeFw0xODAxMDEwMDAwMDBaFw0yNDEyMzEwMDAwMDBaMG0xCzAJBgNVBAYT
 AlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxDDAKBgNVBAsMA0NTUDEQMA4GA1UE
 AwwHUmV2b2tlZDEnMCUGCSqGSIb3DQEJARYYb3NzbHNpZ25jb2RlQGV4YW1wbGUu
-Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5n/FXz2yQaWm53p
-ZJgHdRUGex/Xrn/aj5b57U1bnGOhhDwX/QJd2FSx3X5p1ku06w4genTQgxQnTaBk
-BZ7Ssilu+60jTHBb8vZjbjJVjfPdECR58PSf0+k0AILx61tgAFzIXOZLbdKnlfcg
-XCXwBR+hVXPGNBgcja0vO1WEhOb2JFlTQb+jILYoo9xGKO1w9GfF/494G70U+vIr
-mdx20dyLuoBzzOiO4bhLUOm8vTyiP/43PxoVmqE9/0ZXPFPL4bBok2NThk/0Hx79
-InCyJwC2nDv45CpRLNccbvUmyEUF4MEECJW8g7bIEdUmfGRTYBQJ8RLLBNVDjyAU
-IwN1pQIDAQABo2IwYDAJBgNVHRMEAjAAMB0GA1UdDgQWBBQNv3PoVaJiukMfqFTF
-dfYT1DsLnDAfBgNVHSMEGDAWgBQcEtqGNi2gEeppb9aRglwfLCRv/TATBgNVHSUE
-DDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAQEAZ81n6gfyoXqHXDuQVd0X
-w1Qqts+bkuLUy33SEypNYzSy+KXGme0JGVLZH6uDRAqiUkDOV4KmAPNKnZ9LOp9P
-DETGYJdlnormvh1QyyTk8PdNUp7sLap6AKcZPxSmc4iHvWKMZ93Xq1HVXL4PF4j0
-hi7iAyA5nmiHv/mVIVap7amWiJHIVHJg6xwTy53erYhCkMq/EibFs0brKUVOMddU
-vsdTLp1XC7xH0oFP8zkzMkME+E8Kl00Yz2p9RnhBqt0TGQ/MBrsx6sBTzM6JVZ71
-Iol5hFzJabxCq1YrAb7zOzigXyOB/HSgw/lFSTuGtO66/sJb/UB4DLLOVkz8UTnK
-0w==
+Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsksndW3LaWAnD7mi
+4BXhmqQjC99Y9wTvMPUJ9AgvbzTaNW4JJOQ31x8VVgwoUQ8nFBYkAqgLOv9THzNi
+30Fc7mjf37Pu6YsqZzql+tknqQbiaysyNm/fouwJDJ+NRzU70fVqI5AS9FBjakXa
+/l1+pEysCofURJAcKCBQGMSVaP2gwVrHyPI7snFPO6205vqaEOarPira7gvBkYeU
+Gh+A4AHngyW/jXHt0OHzmL+NrJe5hiayNHAK4ECfXj4PbMibI8PHlRpQkkzO6OhC
+uI5ngpTZ0dGDLT693tlusvWRFjVrHI1D6MGTtQeeVlnYIKSEGhkgzp7PeWM/CCty
+mDRG1wIDAQABo2IwYDAJBgNVHRMEAjAAMB0GA1UdDgQWBBQHE8SzT1ZcPEapv4NZ
+MWBxRB3QATAfBgNVHSMEGDAWgBSeBawLW+FAf2oO9NlET4onfe84izATBgNVHSUE
+DDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAQEAYVJiPrkACW/tK487fYS/
+gYzU3fYVCTfHpAv3njarNzy8UBNqBYr0kDg0DLoOWqGV7ogTtlbQP4IIjAQI/kW6
+cEreW8yU5VxO+kxDo+7oG9VEbR85i6kQW2ubJsXV6yBtf5aAbXEqImYrtjh7UObb
+BbQiUI1ll2dXWqvZGxr3Fz1uz8nPMYlBpVjpCh6JF8otdWwABmxRnqUvoLO6BZbH
+/gdUkouXfio9BlWkWaJXJGXMW8B7ozpjuCHSHyfvGKDA3YIfa7++A1BIKxW72jIF
+jRJDw/rwnV59tiEcBWmp2T6vV+rD8yaS+LotRPYD/ck/jEj/mV+N077KLmuZpdJF
+ag==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-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
+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
-AAOCAQ8AMIIBCgKCAQEA0CDXPd0a0ofDnNRdIqdKNgUrRieELntqzO1HkeJyJpXs
-RJa6IIApLbaCY6WcfQPZwM4XP39Ab0E7Os0YgUriXpWXjjm07CgF2wIau/gs9E9z
-TLaP4+LMOtcotfsZIAMEroB6VvYKmwCDWMKd/M3HpHuYaoLQgczLq/bQ+gtrK2O5
-Yng8D91ta85PySpgkXfXWDM+u+xBT8VV47BkgrSdHtNpK8gTZSpdMnNTaePCRsz1
-+BWZARJuJdSYUp1oFx+/UVZEQlUm1HDnhuxIMuAysUp6QpTPIrj1be2w1PKgncKN
-L4U4hRRSRVD6g9tUbZwG1zwhpRl8FrLn6e3/ZKtbZQIDAQABo2YwZDASBgNVHRMB
-Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBQcEtqGNi2gEeppb9aRglwfLCRv/TAfBgNV
-HSMEGDAWgBRzGc6YRhvH9BZFwoyJJf2PZPSExDAOBgNVHQ8BAf8EBAMCAYYwDQYJ
-KoZIhvcNAQELBQADggEBAFNJFQ0zjxcj2VflXKC1vDisC//4etwspxVUW+AQC3Kg
-ZqSIzrOtBaCCARtI6NOxF0udzVtfBc7Vd7MlxHWk/b863w75gDpOX8QiF9vrRb82
-AK2VmCafxQ0h2W6Sz7dYy4rok6xTRTBERxOMoaL9YHIWC8bktu6+uV/8V++HUstO
-SEw8+jBJGJo9aGYcfXpvbFnmPyoYz/ZkOipjlRsaMUTU8KXbXTIAtsbtf6OWD6QP
-pbik2FFbuR5aKUW9Vq94qWuXoqHv7oeTArFpPNK1FFTfFhPZwKlQ923YzaxjjFqx
-VzI33c6fGZpVlcPi+SvoodQVlG7YSegBV3J7UDMgVu8=
+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
 -----END CERTIFICATE-----
diff --git a/tests/certs/revoked.spc b/tests/certs/revoked.spc
index 7df0b06bd0c151020e538afd966c43fa42fd7edb..91857561c39b205b3de6b37454d42d3a5b171348 100644
GIT binary patch
delta 1588
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
Po-I;`Z!2J!c|72MBzxYT

delta 1588
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
QX^iLZ<!9IC#99OX2QTO3y#N3J

diff --git a/tests/certs/tsa-chain.pem b/tests/certs/tsa-chain.pem
index 95851ad..c8c6ef2 100644
--- a/tests/certs/tsa-chain.pem
+++ b/tests/certs/tsa-chain.pem
@@ -1,50 +1,50 @@
 -----BEGIN CERTIFICATE-----
-MIIEzTCCA7WgAwIBAgIUOfEovjEdUwxU3llVsP/j845Bmi4wDQYJKoZIhvcNAQEL
+MIIEzTCCA7WgAwIBAgIUfRjXKciCGA4XbhbhxbAwfpcLGmowDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEkMCIGA1UE
 CwwbVGltZXN0YW1wIEF1dGhvcml0eSBSb290IENBMRQwEgYDVQQDDAtUU0EgUm9v
 dCBDQTAeFw0xODAxMDEwMDAwMDBaFw0yODAxMDEwMDAwMDBaMFUxCzAJBgNVBAYT
 AlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxHDAaBgNVBAsME1RpbWVzdGFtcCBB
 dXRob3JpdHkxETAPBgNVBAMMCFRlc3QgVFNBMIIBIjANBgkqhkiG9w0BAQEFAAOC
-AQ8AMIIBCgKCAQEAy/UScIYfmEkhQEjfzQQBGtQida4BLImrenu6cdCX3QUIBqNw
-ZPWks+hAJhaRBQhecyd+XkJR1dW2jrCWCGGJ6GZDPFH9WER7JbBID//s9+XVSuol
-xCThVr9RwKpPag2ZsRC8VeSRc7At/uX6lcd7sRG1Yu6Zb/MaabowjPLflVPZboC4
-y2xBf8uROS4eVffJPdwTwirNOTJtTwxOVOVaE0J1GZEdr8I1o1bmZjcYQ+/+VGB3
-mgs5dFvSVmYMzocdb05yxlf/CHfP6tSJufa1YjSHztpC9AJNYD7JUhkVeKEmFHtZ
-8Gf4KCPGqfqqrQJ6VMrNNImZ9i9vOE7u9GJZJwIDAQABo4IBiDCCAYQwDAYDVR0T
-AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQUxWBfmgyH
-/JUPHYH604MsYcosbjYwHwYDVR0jBBgwFoAUgOyoninPDHD34LHDNEgwoIHPUzIw
+AQ8AMIIBCgKCAQEAor220wp2zqj6Fe1VT/yic4LJcfMn1/ZWhsE7L86krULRvI+N
+JY0fOVg/24MtyOXbnm7nYOyYTlR9n2kqm4fEgsz+GDQxXLHgyLh3aF4ueDzoFt0v
+8G3vJfD+4N27XAYJ5V4f4s4VJRDIm0P/BvFGY9J/zICjC83F3OLdnkOD88O8QD6q
+FwWdtBYNqxQX1LAwy3ORe5aTubdVkHV02JhdKAC/xy5nfhynuV4KfYyel2nHrI1i
+54UXWdOrlD/XIKPiXpuEGcXhYTrTHigH+yR9ybs9hotGvuHTEjcxEuJvEQJX+qV4
+eJAIexITDW/yK+maWPLijO3bZ9/JodX+fRCnPQIDAQABo4IBiDCCAYQwDAYDVR0T
+AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQUKWCqogni
+6SseJ/P6LXo0M2cK++QwHwYDVR0jBBgwFoAU/5nNuG4Tm4v2y9uKf428/4fVQesw
 gYQGCCsGAQUFBwEBBHgwdjA5BggrBgEFBQcwAoYtaHR0cDovL1RTQUNBLnRpbWVz
 dGFtcGF1dGhvcml0eS5jb20vVFNBQ0EuY3J0MDkGCCsGAQUFBzABhi1odHRwOi8v
 b2NzcC5UU0FDQS50aW1lc3RhbXBhdXRob3JpdHkuY29tOjkwODAwPgYDVR0fBDcw
 NTAzoDGgL4YtaHR0cDovL1RTQUNBLnRpbWVzdGFtcGF1dGhvcml0eS5jb20vVFNB
 Q0EuY3JsMFUGA1UdHgROMEygGDAKggh0ZXN0LmNvbTAKggh0ZXN0Lm9yZ6EwMAqH
 CAAAAAAAAAAAMCKHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA0G
-CSqGSIb3DQEBCwUAA4IBAQBUYQD1lhHtsmIInDG2hFUGnydialZpIy21wIKD1pUr
-D4+WHwLGhqCP/uq1RIRP++c4NXiRSsy5Qh1hJaNvyKNot6IFyE8J/9WWusuNy6ds
-Oi8sLVMmMLCasLRaYBeYQpgQiiKh3vguFF4mAmQx1Dt2W0XwyiqCCOA+1dC/XpSx
-wPbyqjg01IDuuo0ieygB+H5317coA+ZY0py2dU461owA1xJh5H0mBo2C4ZDd47K7
-DSgPlFQH1w7YRvjljoH/S8ir6AWDo/XWDqI5Ntwm5nYRh32RUAdDKijYL07sxehz
-DRdqCKnFc0hWpwswv2XBmXOh67wiUqlpI7KhOICtGEHd
+CSqGSIb3DQEBCwUAA4IBAQB4YXa5nVWUzWSsUDMfYFTEETOe8boUErwfrDNBuj6z
+B5en20FhI49i6PCYEfNq3vrAtPOEFJj+KPomN3C46VLxbUEvqWLdq6EyzWvVVmXK
+VLeC0qV0m6CFM8GplaWzZdfFTQaaLUhgY08ZU2gp4QsoS2YjAosxlZrNSm6pBbv3
+q+Og1KeSK8gKS0V89k+6e3LOEF6KaNWKSkoz5xDniQY//mTjiDcNmYUh0KhHfhdU
+eO92M82uJSaDqnRs5HsWPs6z6qdfpuvj++OtQ1VCM2p5SEH2sEomdeN3YYChuG4h
+yzn0mYAdbTyGJHlFm17AH+SQRbVqCKYdHDaqsMb+fWzi
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIDkDCCAnigAwIBAgIUUpGlWPFcTBqk4tMbyH+KTbO9/mcwDQYJKoZIhvcNAQEL
+MIIDkDCCAnigAwIBAgIUJ0nfE+EVsIThltlY2LHVWMJVIq4wDQYJKoZIhvcNAQEL
 BQAwYDELMAkGA1UEBhMCUEwxFTATBgNVBAoMDG9zc2xzaWduY29kZTEkMCIGA1UE
 CwwbVGltZXN0YW1wIEF1dGhvcml0eSBSb290IENBMRQwEgYDVQQDDAtUU0EgUm9v
 dCBDQTAeFw0xNzAxMDEwMDAwMDBaFw0yNjExMTAwMDAwMDBaMGAxCzAJBgNVBAYT
 AlBMMRUwEwYDVQQKDAxvc3Nsc2lnbmNvZGUxJDAiBgNVBAsMG1RpbWVzdGFtcCBB
 dXRob3JpdHkgUm9vdCBDQTEUMBIGA1UEAwwLVFNBIFJvb3QgQ0EwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDlPnoARKfM6fzxkHC7PZar48cL2jkO7XpT
-xv/uO6yyd1qj353o7/rhT5REb291cMv59o7fv6uxdReWcIpjR3NxgyxJ8P8qxnbW
-wQJJIvL729hcP5L6Rbl6n8l0OmSPBIth9yzLpsuz3in9lfd65BKYswe8M26lgfP3
-Xky1uA+awt/Vsas7cYUvH94NsCQVU52mLanr9oVaI+7EPBlA9JwhNvUOlnSmOIix
-9ZQ9pkTN6+4ceQwq5zs845yglAkDl6JuKUNCDJQGejfBgokCSNbWmqUV9VaLS0BP
-LIAn9kyth2K/lIY1Wo+Bkc+020zY8QPfZ65G8RTR/bIsUqfpHQ11AgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIDsqJ4pzwxw9+CxwzRIMKCBz1My
-MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAK3lXc/QhlCnlPeT1
-qB9cq3HvMdAWS8+ekf5f++atMoZkRsn/Avfq8JB1i+hHmElAOuqZJDhyFSstehlK
-a69gBHY9l2NuMGtUMp6gRodjbpzxPHxKUqXpdyw29qfJhJlsYbn+pZ2KCZ35E2QP
-17RR4WvQ+nkNQfr1nfGL8yLw+Swv8T9okjYadvKjWfk6L2D6Q4WExtmWTuQgz+Fc
-PyvLEE8h1eS1ZTZtL1WzUUG48Mp0+tPDN9FoUoTGPflwMYDI/WChY6OluWKQiBBa
-tWCjX9xRBOi5BV/wzzzrj0q58lGXCDY8C7SQ4wYP/zt4HPSroACe4cKdJhaWULnP
-iA+12g==
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGOTX1f9dmtUiyzlsUInRIGfRMya338SVx
+vYGeOwdpTSSGlYUVwR9AuFewQF5+klelstCJe+SoUG0AdzS30mRWlQrhip4UdvdW
+T2gkNKbSn6DQzlWoQej9izqRLxAsbuszgkvnLOBEmPaLimDsCgu0bAN95Hp0Hls9
+O/fVmzh8VuV4iscxc7q13ZB7CylWgwd55CFEGd/jpJ6kMwSHbOLoBWp4GQ3KxR+c
+ASAo0FapU2WSZB2EYWszRiyq91X+AvIYN4ypTv7RccgfUvnZ2qFykJAkf/wgkynu
+Qg7rCUNfUEpDc7jlqtDWR7iLrtHBkA17C3IU8ymmKQYWfw3ZyBwvAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP+ZzbhuE5uL9svbin+NvP+H1UHr
+MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAbj3aFwIUxvzwgywO
+gj01JM8GNbw1E4MGdkaNI8rgeY8ay15ZXhR9NpRWWb6Y7IXPq5XhuEktVte5Z4Kf
+XLBrr7Xe9VVqJL9zd1tMzOEM/zG77rZf/iXBTZLkCtQc/GOEY4TTWKNEl5hiWVE0
+po97GX5XHoeyHlWQ75sd9z6MxFxmvdp9/uyYD700e9sd5gcD8LGvHw2DNy8vntYV
+ia9h95N9i1umffxU460o8W5GoIcsD13B3YftvnWhGSXqovBRFgcPAQZ4eW9Qh/zA
+4zQBQrRvmREPihXVdgtWVpbRchP99oSZBrYr7Hh/P69rycklquqxJl1ol1wbT6dK
+S5Gmng==
 -----END CERTIFICATE-----