[java-parent-project] branch maint-7 updated: Test CA chain for use with unit tests.
Scott Cantor
cantor.2 at osu.edu
Wed Dec 26 10:10:14 EST 2018
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch maint-7
in repository java-parent-project.
View the commit online:
http://git.shibboleth.net/view/?p=java-parent-project.git;a=commit;h=0c69ffd9cb69e73895665f70477f55421ea86eba
The following commit(s) were added to refs/heads/maint-7 by this push:
new 0c69ffd Test CA chain for use with unit tests.
0c69ffd is described below
commit 0c69ffd9cb69e73895665f70477f55421ea86eba
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Dec 11 10:23:04 2018 -0500
Test CA chain for use with unit tests.
---
resources/testca/certs/ca.cert.pem | 33 +++++
resources/testca/index.txt | 1 +
resources/testca/index.txt.attr | 1 +
resources/testca/index.txt.old | 0
.../intermediate/certs/intermediate.cert.pem | 33 +++++
.../certs/test.shibboleth.net.cert.pem | 37 ++++++
resources/testca/intermediate/crlnumber | 1 +
resources/testca/intermediate/index.txt | 1 +
resources/testca/intermediate/index.txt.attr | 1 +
resources/testca/intermediate/index.txt.old | 0
resources/testca/intermediate/newcerts/1000.pem | 37 ++++++
resources/testca/intermediate/openssl.cnf | 133 +++++++++++++++++++++
.../intermediate/private/intermediate.key.pem | 54 +++++++++
.../private/test.shibboleth.net.key.pem | 51 ++++++++
resources/testca/intermediate/serial | 1 +
resources/testca/intermediate/serial.old | 1 +
resources/testca/newcerts/1000.pem | 33 +++++
resources/testca/openssl.cnf | 133 +++++++++++++++++++++
resources/testca/private/ca.key.pem | 54 +++++++++
resources/testca/serial | 1 +
resources/testca/serial.old | 1 +
21 files changed, 607 insertions(+)
diff --git a/resources/testca/certs/ca.cert.pem b/resources/testca/certs/ca.cert.pem
new file mode 100644
index 0000000..89e896f
--- /dev/null
+++ b/resources/testca/certs/ca.cert.pem
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFqDCCA5CgAwIBAgIJAIEDdQdu3nBaMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
+BAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNv
+cnRpdW0xIzAhBgNVBAMMGlNoaWJib2xldGggUHJvamVjdCBUZXN0IENBMB4XDTE4
+MTIxMTE0NTQzM1oXDTQ2MDQyODE0NTQzM1owYTELMAkGA1UEBhMCVVMxDTALBgNV
+BAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEjMCEGA1UE
+AwwaU2hpYmJvbGV0aCBQcm9qZWN0IFRlc3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCq4lNY743on4A4/E5dOYCbscXE+lsJtDjd8fyFXmXqYpfi
+1KP6Vh8foWEvG70dEQR4oxxcA1que2HbqIaQtWOT4LJBWTvUNF+dKFiDkTHkzbxx
+FnzJVPXYDzrDz2CbWpAh496S8BsT7+84+TqGGngJs2POFcHhQFAxr7Of9pKwGLXz
+BWCes+FSjst7yLrrrbkB8MXuHD5h+EjK+C552jECqCmgabbThESsMleVqBcjmuoH
+X2BejIghRsw5Y8wGq5hWr92lOD86p+Hn3kC+4yR20XCQu9P+l/ZPlzFkW/FFDPPh
+6U9ZP1Kf1hDkkDQDZLtyy5xLs0ew+4rjxlH4Bmh45zBcDprd8yA6hnoIN4w5IFF+
+w1bZTUPlNvMdf/4EjVIJ8UFfJXTMSD2VPeTd1veb/uaAtToU599u7ITh2gaZGfh3
+AmXUR2gX9+eKbJG4fXHwLxkddl/dSjgbFRPrtBgp/w8DNZICmpJSpdWvmSY/o8ix
+Tq1ZKX8UuzrsBOtG0Y7Fi/aJtrsgD9KqpnGEhBFWJ8zFHHdZIUMKacUJgzFARlsM
+e/eoM49a4oCqFfPeRgriC9eWfFbRIH86RBjuVk8Rs/q35mkpk702eEnf0kdB7E/q
+JE4qgBnEhSONl2ytTt7rsrw19jXCw+FOfHB2KQa50h59wsKF3oaCoG4f5hZC/wID
+AQABo2MwYTAdBgNVHQ4EFgQU6lFKNP6lo4e1TixtvcdR5NVuxfkwHwYDVR0jBBgw
+FoAU6lFKNP6lo4e1TixtvcdR5NVuxfkwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADt/nRWMaUr396xdtu/UNtzm0dfp
+zyqusqaD09JbqW1mQJ/fH6mZ+yPOYd7h5A47znPe9o0jJlR11GcPvRPTM4IR8aLB
+ogK05TGtWP6sBNR8vld87C5e1hKRwoHDqyLUriK/hpi30zB4B+whW0kty6wqF9lt
+X819emItLgDr1qS6v9iDd9AS4xmpcRxP47YugvlIKBNeiuK+UXhY3lBYg4453Pgn
+Fi78GoOM51oEY1LrCpiXSly4sz25MflM47Cppxh5fAIPoFsqRwmpJ3lETBmLCe6v
+7Shjgc0bEidlAxF8BPoXKvMSkjfBRmmhw6UvJ158NmKWSXV6r6x1ZWG/5N2GKpO4
+1eV7RNV4ojpyc87RJJdpstcFJFVjBzEVZ9EcohG1/UDHITu3e5XPrtgPQZGXKjX5
+EHtO5hDb6xxkblQ6qe1L3Ga+ZfNg1rHIpicYz1yZS5mR0dD1LJrzwyan9s1Ld5IU
+v2YWniDlnFXBFWC+9hRF544aN2M/7Q10J13ZYg7d2YbOnp2XhTV1Ud7T/PN4wxHu
+aTJ+2OEsL2Uy4oQ5bGEfgkG22NVxOpAR5/baAoqwxUxIXmE9ub2jVOPt6AzLeNdr
+RaPULkvHLvGMy+VpAqEIPG1OiROg+tWKRmDhF5PtOTneeHR2yHjjWGO+DDY7sAEu
+JWXY3HAfr1aJ7DVm
+-----END CERTIFICATE-----
diff --git a/resources/testca/index.txt b/resources/testca/index.txt
new file mode 100644
index 0000000..3b379ec
--- /dev/null
+++ b/resources/testca/index.txt
@@ -0,0 +1 @@
+V 381206150703Z 1000 unknown /C=US/ST=Ohio/O=Shibboleth Consortium/CN=Shibboleth Project Intermediate CA
diff --git a/resources/testca/index.txt.attr b/resources/testca/index.txt.attr
new file mode 100644
index 0000000..8f7e63a
--- /dev/null
+++ b/resources/testca/index.txt.attr
@@ -0,0 +1 @@
+unique_subject = yes
diff --git a/resources/testca/index.txt.old b/resources/testca/index.txt.old
new file mode 100644
index 0000000..e69de29
diff --git a/resources/testca/intermediate/certs/intermediate.cert.pem b/resources/testca/intermediate/certs/intermediate.cert.pem
new file mode 100644
index 0000000..f66baab
--- /dev/null
+++ b/resources/testca/intermediate/certs/intermediate.cert.pem
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFrDCCA5SgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwYTELMAkGA1UEBhMCVVMx
+DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEj
+MCEGA1UEAwwaU2hpYmJvbGV0aCBQcm9qZWN0IFRlc3QgQ0EwHhcNMTgxMjExMTUw
+NzAzWhcNMzgxMjA2MTUwNzAzWjBpMQswCQYDVQQGEwJVUzENMAsGA1UECAwET2hp
+bzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25zb3J0aXVtMSswKQYDVQQDDCJTaGli
+Ym9sZXRoIFByb2plY3QgSW50ZXJtZWRpYXRlIENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA5n21pqEhdEbOoF0+TqoI6hGLJ1UtRgSJOat82vbV5CMS
+5mDdOohu3JSyMNVJNQ+wHpyVEBmolF8/DC3ctapxFNoivFFbbtwZdm8PTtC6kh/7
+8GH1MhmtSKzvdV+JUNxhxeQOoNzN1YOHkRlOl4cKP8pt/tgmc9vysGUs40ct7Oor
+i/UBbLea6LKLaHv6I1aElBkk0CJrA7Yr/EaHbFlcpHH69k+dQPLMuWE2RU6VELwa
+mP3V3kqA6oDlYyF+baWg8qKnjsj18NPqpx89jGt8SQSqEsc+1s5lieItNOUT4pZo
+HXz88BzAgPh/d0fxyMJOW6cTHs9W/Ivhs7PBd4C9frZ/ljn9yR7T/DkFBVt/X7ri
+vXUpNXmGU+9IGbA8XUrYQf3iVGOfBSFu0KP8f0y6qweXuVIdC4SKR7dzgM8hECQh
+R77tsQtTlF8m9ixqlZvLeXQ3z5h8OfMVyEkzXNVeBXDbD5hOB11KjAdqz3JKs9ft
+d1+XRCK5B6sqmTnqdHxbx+tlBnqrW//e6bTVHVPhJykvoUIflBXnRdjgHEeHM6nk
+uFVcHRfxgZ8VgA2b5r6vVPUkbu+0UZrG3FUb0kpIQ8BAe+Ey0eJE3DjCiNVGKhmT
+x5/RuMogAS93TDOvBg0AN6ACB1CgP/XTGT22hVpKoI5aEHL/iV9WaoHLOgxWRV8C
+AwEAAaNmMGQwHQYDVR0OBBYEFBC836Yo9ppK7PQeAhLF2JqDenCrMB8GA1UdIwQY
+MBaAFOpRSjT+paOHtU4sbb3HUeTVbsX5MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYD
+VR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA31kZd5sI5yg/xhobPm5Q1
+8ee4C1gl6yNot6RFIRpCnc5kHLrglj3iV1rVNOlYm0psb3EpYRI26P1M/ZiVO0R1
+zVKFgYpcLGb0ZXBbpDREK2THzDwUPoMiZMJ/Z5Bt8Qslxk8q/mt4/VKSo5qh0ive
++CHWJ9N+I6v8EkxRrZY4v3k2P1WIi2zBuX4GNwKXhSNoEiWINO3pW6AqXur+H61m
+aGU/PXDMUIHRFo7H9uJYcjQ7Z1lrnKLpkKxYypeA3BYsuUePL2Ha+slgqBUqIzag
+Cpfd0vOFd/fQ2MBKcGtSCK5ZeiymNwUaqARktuWIQ7dSjKnJeBNoJsgJZPhnyGuw
+mPUXgILUb90THFBDGaHeEus3bcrczYjLwKWwo8hX5OWjJV4efvbdVSWcOHWhD9OQ
+L/MpZlfWGN6ow3+2l618VemamkenuWhUSavvroLX5ayw8415sGvTu+O4KiGy1AEl
+odoBk0jqNL9ZRuz24vfAylVbCKbycHOdfvx9JS0nCyrob2qwLZxgr01VUU+e3UAD
+JH6icp4uQ2JWrC5nYlOjYBHNddsJXo9vprNHX+WV3ul/mgFm20n4GtxdeZJ897kB
+0DGekuu+xkjaE3nSDLmUznM7+UrCMVrUha+Z7YA6MhklCAQNl7rBSeg2vxogcMYJ
+Lw0aOX9488tm6APbGyRcBQ==
+-----END CERTIFICATE-----
diff --git a/resources/testca/intermediate/certs/test.shibboleth.net.cert.pem b/resources/testca/intermediate/certs/test.shibboleth.net.cert.pem
new file mode 100644
index 0000000..739de83
--- /dev/null
+++ b/resources/testca/intermediate/certs/test.shibboleth.net.cert.pem
@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIGazCCBFOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMx
+DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEr
+MCkGA1UEAwwiU2hpYmJvbGV0aCBQcm9qZWN0IEludGVybWVkaWF0ZSBDQTAeFw0x
+ODEyMTExNTE5NDlaFw0zODEyMDYxNTE5NDlaMFoxCzAJBgNVBAYTAlVTMQ0wCwYD
+VQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xHDAaBgNV
+BAMME3Rlc3Quc2hpYmJvbGV0aC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDI39TBFEbOkf0Bb2h/qnG4bbJRF5Ga9OBgSAxPsx2PNgVmf1cvJYlq
+uRCzATu3O4PPclomow5VU7hB+umpk2s03FHejUtO8w85qQx7bkSeyfLpMYloX3SD
+AWDFSpw54Tg2Dfja6jYLnE0aYWUCTXjcFJEIrT0QP1Azdk8b9PeKLqGIagECUMzC
+UjmJxEcyqhbe6mB7tdSsBng+R4DRdVdouN4rtHknNuEyAc5eEppGxY33KXhElYol
+4IK6YxAqXI6iQIDdcVxrH061/iKh7qT1bCAEmzeeoS4st4v4oyIhxUk7yUxYOuFc
+NhYUd5U93Ws4P8xPFzcPhD2TIZDAS/bnm2EJ+JxLG6Gp1jhBN5qTpdTPWiG9+Tmm
+HFuYOrSefgZk0edkJhe0dycfV/FWFX2fNrmkpQhyPQzb3ZyZ5mACn020TXDaF5o3
+fX8ndLl4RghTORJs5n51TuLX85DEeZWkJe5f8Hsip1mpmxlMTl9QMqHrN70n5gBi
+uCYo9g/Jw5xoropCq7Jri9K9FWtbORncUIXutsTVo+fXeHZ6IDRoovR004gHHEJ7
+ks46fZQYNbd8bB/mPlCdYiFyJnfUiOu89O5aLqvhrJNgPUhMt/gmhSV7zw+/3/cd
+o7pwWH2h2ObuS8v8gVUZAE04tefqRJZEB0YsWA3DASDT7nVqndOp2QIDAQABo4IB
+KjCCASYwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
+BCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
+FgQUG3Vg4ubsJVaylBUCPtqVc9mHWfYwgYwGA1UdIwSBhDCBgYAUELzfpij2mkrs
+9B4CEsXYmoN6cKuhZaRjMGExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4w
+HAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xIzAhBgNVBAMMGlNoaWJib2xl
+dGggUHJvamVjdCBUZXN0IENBggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
+CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggIBAFZQF7KzKGSPieV2eQWbFt30
+kVZzVe/T5UAvrr8n7mRqMfye4QtHHOVM3MHvZv93AXVUQU4PH9KPGtv7poEtwNWk
+7hNbq74z5x5tSvE0EYYI9UMolDL6il+QR5AgLw7YqgMmPPhtm+crmLg8+uMoQDyU
+uSH8ej4rMrdhL2xKlgvL/rhWycpYu1cFLmeolljOZGqr7ITwWJ06BQsLtt4/cyYj
+WiVldHQRZMGAuHLHlX+ukaEg7Gc/N7o936bS5d7AqXwtmtkXiA8An5q5rhncEK1G
+kwUUQN2y5iyx/nD4B2k1IcgFlu/bM4iXZQtmMUtLptUqRssuxS45ukiweiM9UU8n
+WxyxJMzFTctJJ2f/y4Bg5ggsr4WQU/YhoDaQVYxyjXiBt3oT+7eqsoep9HK9xwbG
+xriLzrlao+K3EcKA3vjKGYh15gpEDUbn0Cr5V74TUSdkHjhG7ocaJ5u9/vCS4+AR
+iU5ge2zN6QcwoZKT8+8XGKeXqVc/3hXeXTn3FyvMitPDZsmg8wUhnb/pq5MyKqUA
+bNse4a7oGAeAUGkLf4Q+eLCLSZmL5udrGXdHIffFYqZVcZS+zVWQ1TRfodTDPkFb
+KTz1mcr4KjLNCtplu4CfFpHwC20uk3hPEslOUd+ugj0+HGNH93L7H0WL1GDQoCPh
+RcdRISVwORcD/dit15zD
+-----END CERTIFICATE-----
diff --git a/resources/testca/intermediate/crlnumber b/resources/testca/intermediate/crlnumber
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/resources/testca/intermediate/crlnumber
@@ -0,0 +1 @@
+1000
diff --git a/resources/testca/intermediate/index.txt b/resources/testca/intermediate/index.txt
new file mode 100644
index 0000000..3770676
--- /dev/null
+++ b/resources/testca/intermediate/index.txt
@@ -0,0 +1 @@
+V 381206151949Z 1000 unknown /C=US/ST=Ohio/O=Shibboleth Consortium/CN=test.shibboleth.net
diff --git a/resources/testca/intermediate/index.txt.attr b/resources/testca/intermediate/index.txt.attr
new file mode 100644
index 0000000..8f7e63a
--- /dev/null
+++ b/resources/testca/intermediate/index.txt.attr
@@ -0,0 +1 @@
+unique_subject = yes
diff --git a/resources/testca/intermediate/index.txt.old b/resources/testca/intermediate/index.txt.old
new file mode 100644
index 0000000..e69de29
diff --git a/resources/testca/intermediate/newcerts/1000.pem b/resources/testca/intermediate/newcerts/1000.pem
new file mode 100644
index 0000000..739de83
--- /dev/null
+++ b/resources/testca/intermediate/newcerts/1000.pem
@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIGazCCBFOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMx
+DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEr
+MCkGA1UEAwwiU2hpYmJvbGV0aCBQcm9qZWN0IEludGVybWVkaWF0ZSBDQTAeFw0x
+ODEyMTExNTE5NDlaFw0zODEyMDYxNTE5NDlaMFoxCzAJBgNVBAYTAlVTMQ0wCwYD
+VQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xHDAaBgNV
+BAMME3Rlc3Quc2hpYmJvbGV0aC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDI39TBFEbOkf0Bb2h/qnG4bbJRF5Ga9OBgSAxPsx2PNgVmf1cvJYlq
+uRCzATu3O4PPclomow5VU7hB+umpk2s03FHejUtO8w85qQx7bkSeyfLpMYloX3SD
+AWDFSpw54Tg2Dfja6jYLnE0aYWUCTXjcFJEIrT0QP1Azdk8b9PeKLqGIagECUMzC
+UjmJxEcyqhbe6mB7tdSsBng+R4DRdVdouN4rtHknNuEyAc5eEppGxY33KXhElYol
+4IK6YxAqXI6iQIDdcVxrH061/iKh7qT1bCAEmzeeoS4st4v4oyIhxUk7yUxYOuFc
+NhYUd5U93Ws4P8xPFzcPhD2TIZDAS/bnm2EJ+JxLG6Gp1jhBN5qTpdTPWiG9+Tmm
+HFuYOrSefgZk0edkJhe0dycfV/FWFX2fNrmkpQhyPQzb3ZyZ5mACn020TXDaF5o3
+fX8ndLl4RghTORJs5n51TuLX85DEeZWkJe5f8Hsip1mpmxlMTl9QMqHrN70n5gBi
+uCYo9g/Jw5xoropCq7Jri9K9FWtbORncUIXutsTVo+fXeHZ6IDRoovR004gHHEJ7
+ks46fZQYNbd8bB/mPlCdYiFyJnfUiOu89O5aLqvhrJNgPUhMt/gmhSV7zw+/3/cd
+o7pwWH2h2ObuS8v8gVUZAE04tefqRJZEB0YsWA3DASDT7nVqndOp2QIDAQABo4IB
+KjCCASYwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
+BCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
+FgQUG3Vg4ubsJVaylBUCPtqVc9mHWfYwgYwGA1UdIwSBhDCBgYAUELzfpij2mkrs
+9B4CEsXYmoN6cKuhZaRjMGExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4w
+HAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xIzAhBgNVBAMMGlNoaWJib2xl
+dGggUHJvamVjdCBUZXN0IENBggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
+CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggIBAFZQF7KzKGSPieV2eQWbFt30
+kVZzVe/T5UAvrr8n7mRqMfye4QtHHOVM3MHvZv93AXVUQU4PH9KPGtv7poEtwNWk
+7hNbq74z5x5tSvE0EYYI9UMolDL6il+QR5AgLw7YqgMmPPhtm+crmLg8+uMoQDyU
+uSH8ej4rMrdhL2xKlgvL/rhWycpYu1cFLmeolljOZGqr7ITwWJ06BQsLtt4/cyYj
+WiVldHQRZMGAuHLHlX+ukaEg7Gc/N7o936bS5d7AqXwtmtkXiA8An5q5rhncEK1G
+kwUUQN2y5iyx/nD4B2k1IcgFlu/bM4iXZQtmMUtLptUqRssuxS45ukiweiM9UU8n
+WxyxJMzFTctJJ2f/y4Bg5ggsr4WQU/YhoDaQVYxyjXiBt3oT+7eqsoep9HK9xwbG
+xriLzrlao+K3EcKA3vjKGYh15gpEDUbn0Cr5V74TUSdkHjhG7ocaJ5u9/vCS4+AR
+iU5ge2zN6QcwoZKT8+8XGKeXqVc/3hXeXTn3FyvMitPDZsmg8wUhnb/pq5MyKqUA
+bNse4a7oGAeAUGkLf4Q+eLCLSZmL5udrGXdHIffFYqZVcZS+zVWQ1TRfodTDPkFb
+KTz1mcr4KjLNCtplu4CfFpHwC20uk3hPEslOUd+ugj0+HGNH93L7H0WL1GDQoCPh
+RcdRISVwORcD/dit15zD
+-----END CERTIFICATE-----
diff --git a/resources/testca/intermediate/openssl.cnf b/resources/testca/intermediate/openssl.cnf
new file mode 100644
index 0000000..3634f4f
--- /dev/null
+++ b/resources/testca/intermediate/openssl.cnf
@@ -0,0 +1,133 @@
+# OpenSSL intermediate CA configuration file.
+# Copy to `/root/ca/intermediate/openssl.cnf`.
+
+[ ca ]
+# `man ca`
+default_ca = CA_default
+
+[ CA_default ]
+# Directory and file locations.
+dir = .
+certs = $dir/certs
+crl_dir = $dir/crl
+new_certs_dir = $dir/newcerts
+database = $dir/index.txt
+serial = $dir/serial
+RANDFILE = $dir/private/.rand
+
+# The root key and root certificate.
+private_key = $dir/private/intermediate.key.pem
+certificate = $dir/certs/intermediate.cert.pem
+
+# For certificate revocation lists.
+crlnumber = $dir/crlnumber
+crl = $dir/crl/intermediate.crl.pem
+crl_extensions = crl_ext
+default_crl_days = 30
+
+# SHA-1 is deprecated, so use SHA-2 instead.
+default_md = sha256
+
+name_opt = ca_default
+cert_opt = ca_default
+default_days = 375
+preserve = no
+policy = policy_loose
+
+[ policy_strict ]
+# The root CA should only sign intermediate certificates that match.
+# See the POLICY FORMAT section of `man ca`.
+countryName = match
+stateOrProvinceName = match
+organizationName = match
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+[ policy_loose ]
+# Allow the intermediate CA to sign a more diverse range of certificates.
+# See the POLICY FORMAT section of the `ca` man page.
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+[ req ]
+# Options for the `req` tool (`man req`).
+default_bits = 2048
+distinguished_name = req_distinguished_name
+string_mask = utf8only
+
+# SHA-1 is deprecated, so use SHA-2 instead.
+default_md = sha256
+
+# Extension to add when the -x509 option is used.
+x509_extensions = v3_ca
+
+[ req_distinguished_name ]
+# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
+countryName = Country Name (2 letter code)
+stateOrProvinceName = State or Province Name
+localityName = Locality Name
+0.organizationName = Organization Name
+organizationalUnitName = Organizational Unit Name
+commonName = Common Name
+emailAddress = Email Address
+
+# Optionally, specify some defaults.
+countryName_default = GB
+stateOrProvinceName_default = England
+localityName_default =
+0.organizationName_default = Alice Ltd
+organizationalUnitName_default =
+emailAddress_default =
+
+[ v3_ca ]
+# Extensions for a typical CA (`man x509v3_config`).
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical, CA:true
+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
+
+[ v3_intermediate_ca ]
+# Extensions for a typical intermediate CA (`man x509v3_config`).
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical, CA:true, pathlen:0
+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
+
+[ usr_cert ]
+# Extensions for client certificates (`man x509v3_config`).
+basicConstraints = CA:FALSE
+nsCertType = client, email
+nsComment = "OpenSSL Generated Client Certificate"
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
+keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
+extendedKeyUsage = clientAuth, emailProtection
+
+[ server_cert ]
+# Extensions for server certificates (`man x509v3_config`).
+basicConstraints = CA:FALSE
+nsCertType = server
+nsComment = "OpenSSL Generated Server Certificate"
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer:always
+keyUsage = critical, digitalSignature, keyEncipherment
+extendedKeyUsage = serverAuth
+
+[ crl_ext ]
+# Extension for CRLs (`man x509v3_config`).
+authorityKeyIdentifier=keyid:always
+
+[ ocsp ]
+# Extension for OCSP signing certificates (`man ocsp`).
+basicConstraints = CA:FALSE
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
+keyUsage = critical, digitalSignature
+extendedKeyUsage = critical, OCSPSigning
+
diff --git a/resources/testca/intermediate/private/intermediate.key.pem b/resources/testca/intermediate/private/intermediate.key.pem
new file mode 100644
index 0000000..ff66925
--- /dev/null
+++ b/resources/testca/intermediate/private/intermediate.key.pem
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,8205EDE38EC814DF2F51825F9C0CB98F
+
+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
+-----END RSA PRIVATE KEY-----
diff --git a/resources/testca/intermediate/private/test.shibboleth.net.key.pem b/resources/testca/intermediate/private/test.shibboleth.net.key.pem
new file mode 100644
index 0000000..59f906b
--- /dev/null
+++ b/resources/testca/intermediate/private/test.shibboleth.net.key.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/resources/testca/intermediate/serial b/resources/testca/intermediate/serial
new file mode 100644
index 0000000..dd11724
--- /dev/null
+++ b/resources/testca/intermediate/serial
@@ -0,0 +1 @@
+1001
diff --git a/resources/testca/intermediate/serial.old b/resources/testca/intermediate/serial.old
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/resources/testca/intermediate/serial.old
@@ -0,0 +1 @@
+1000
diff --git a/resources/testca/newcerts/1000.pem b/resources/testca/newcerts/1000.pem
new file mode 100644
index 0000000..f66baab
--- /dev/null
+++ b/resources/testca/newcerts/1000.pem
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFrDCCA5SgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwYTELMAkGA1UEBhMCVVMx
+DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEj
+MCEGA1UEAwwaU2hpYmJvbGV0aCBQcm9qZWN0IFRlc3QgQ0EwHhcNMTgxMjExMTUw
+NzAzWhcNMzgxMjA2MTUwNzAzWjBpMQswCQYDVQQGEwJVUzENMAsGA1UECAwET2hp
+bzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25zb3J0aXVtMSswKQYDVQQDDCJTaGli
+Ym9sZXRoIFByb2plY3QgSW50ZXJtZWRpYXRlIENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA5n21pqEhdEbOoF0+TqoI6hGLJ1UtRgSJOat82vbV5CMS
+5mDdOohu3JSyMNVJNQ+wHpyVEBmolF8/DC3ctapxFNoivFFbbtwZdm8PTtC6kh/7
+8GH1MhmtSKzvdV+JUNxhxeQOoNzN1YOHkRlOl4cKP8pt/tgmc9vysGUs40ct7Oor
+i/UBbLea6LKLaHv6I1aElBkk0CJrA7Yr/EaHbFlcpHH69k+dQPLMuWE2RU6VELwa
+mP3V3kqA6oDlYyF+baWg8qKnjsj18NPqpx89jGt8SQSqEsc+1s5lieItNOUT4pZo
+HXz88BzAgPh/d0fxyMJOW6cTHs9W/Ivhs7PBd4C9frZ/ljn9yR7T/DkFBVt/X7ri
+vXUpNXmGU+9IGbA8XUrYQf3iVGOfBSFu0KP8f0y6qweXuVIdC4SKR7dzgM8hECQh
+R77tsQtTlF8m9ixqlZvLeXQ3z5h8OfMVyEkzXNVeBXDbD5hOB11KjAdqz3JKs9ft
+d1+XRCK5B6sqmTnqdHxbx+tlBnqrW//e6bTVHVPhJykvoUIflBXnRdjgHEeHM6nk
+uFVcHRfxgZ8VgA2b5r6vVPUkbu+0UZrG3FUb0kpIQ8BAe+Ey0eJE3DjCiNVGKhmT
+x5/RuMogAS93TDOvBg0AN6ACB1CgP/XTGT22hVpKoI5aEHL/iV9WaoHLOgxWRV8C
+AwEAAaNmMGQwHQYDVR0OBBYEFBC836Yo9ppK7PQeAhLF2JqDenCrMB8GA1UdIwQY
+MBaAFOpRSjT+paOHtU4sbb3HUeTVbsX5MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYD
+VR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA31kZd5sI5yg/xhobPm5Q1
+8ee4C1gl6yNot6RFIRpCnc5kHLrglj3iV1rVNOlYm0psb3EpYRI26P1M/ZiVO0R1
+zVKFgYpcLGb0ZXBbpDREK2THzDwUPoMiZMJ/Z5Bt8Qslxk8q/mt4/VKSo5qh0ive
++CHWJ9N+I6v8EkxRrZY4v3k2P1WIi2zBuX4GNwKXhSNoEiWINO3pW6AqXur+H61m
+aGU/PXDMUIHRFo7H9uJYcjQ7Z1lrnKLpkKxYypeA3BYsuUePL2Ha+slgqBUqIzag
+Cpfd0vOFd/fQ2MBKcGtSCK5ZeiymNwUaqARktuWIQ7dSjKnJeBNoJsgJZPhnyGuw
+mPUXgILUb90THFBDGaHeEus3bcrczYjLwKWwo8hX5OWjJV4efvbdVSWcOHWhD9OQ
+L/MpZlfWGN6ow3+2l618VemamkenuWhUSavvroLX5ayw8415sGvTu+O4KiGy1AEl
+odoBk0jqNL9ZRuz24vfAylVbCKbycHOdfvx9JS0nCyrob2qwLZxgr01VUU+e3UAD
+JH6icp4uQ2JWrC5nYlOjYBHNddsJXo9vprNHX+WV3ul/mgFm20n4GtxdeZJ897kB
+0DGekuu+xkjaE3nSDLmUznM7+UrCMVrUha+Z7YA6MhklCAQNl7rBSeg2vxogcMYJ
+Lw0aOX9488tm6APbGyRcBQ==
+-----END CERTIFICATE-----
diff --git a/resources/testca/openssl.cnf b/resources/testca/openssl.cnf
new file mode 100644
index 0000000..562d611
--- /dev/null
+++ b/resources/testca/openssl.cnf
@@ -0,0 +1,133 @@
+# OpenSSL root CA configuration file.
+# Copy to `/root/ca/openssl.cnf`.
+
+[ ca ]
+# `man ca`
+default_ca = CA_default
+
+[ CA_default ]
+# Directory and file locations.
+dir = .
+certs = $dir/certs
+crl_dir = $dir/crl
+new_certs_dir = $dir/newcerts
+database = $dir/index.txt
+serial = $dir/serial
+RANDFILE = $dir/private/.rand
+
+# The root key and root certificate.
+private_key = $dir/private/ca.key.pem
+certificate = $dir/certs/ca.cert.pem
+
+# For certificate revocation lists.
+crlnumber = $dir/crlnumber
+crl = $dir/crl/ca.crl.pem
+crl_extensions = crl_ext
+default_crl_days = 30
+
+# SHA-1 is deprecated, so use SHA-2 instead.
+default_md = sha256
+
+name_opt = ca_default
+cert_opt = ca_default
+default_days = 375
+preserve = no
+policy = policy_strict
+
+[ policy_strict ]
+# The root CA should only sign intermediate certificates that match.
+# See the POLICY FORMAT section of `man ca`.
+countryName = match
+stateOrProvinceName = match
+organizationName = match
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+[ policy_loose ]
+# Allow the intermediate CA to sign a more diverse range of certificates.
+# See the POLICY FORMAT section of the `ca` man page.
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+[ req ]
+# Options for the `req` tool (`man req`).
+default_bits = 2048
+distinguished_name = req_distinguished_name
+string_mask = utf8only
+
+# SHA-1 is deprecated, so use SHA-2 instead.
+default_md = sha256
+
+# Extension to add when the -x509 option is used.
+x509_extensions = v3_ca
+
+[ req_distinguished_name ]
+# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
+countryName = Country Name (2 letter code)
+stateOrProvinceName = State or Province Name
+localityName = Locality Name
+0.organizationName = Organization Name
+organizationalUnitName = Organizational Unit Name
+commonName = Common Name
+emailAddress = Email Address
+
+# Optionally, specify some defaults.
+countryName_default = GB
+stateOrProvinceName_default = England
+localityName_default =
+0.organizationName_default = Alice Ltd
+organizationalUnitName_default =
+emailAddress_default =
+
+[ v3_ca ]
+# Extensions for a typical CA (`man x509v3_config`).
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical, CA:true
+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
+
+[ v3_intermediate_ca ]
+# Extensions for a typical intermediate CA (`man x509v3_config`).
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical, CA:true, pathlen:0
+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
+
+[ usr_cert ]
+# Extensions for client certificates (`man x509v3_config`).
+basicConstraints = CA:FALSE
+nsCertType = client, email
+nsComment = "OpenSSL Generated Client Certificate"
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
+keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
+extendedKeyUsage = clientAuth, emailProtection
+
+[ server_cert ]
+# Extensions for server certificates (`man x509v3_config`).
+basicConstraints = CA:FALSE
+nsCertType = server
+nsComment = "OpenSSL Generated Server Certificate"
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer:always
+keyUsage = critical, digitalSignature, keyEncipherment
+extendedKeyUsage = serverAuth
+
+[ crl_ext ]
+# Extension for CRLs (`man x509v3_config`).
+authorityKeyIdentifier=keyid:always
+
+[ ocsp ]
+# Extension for OCSP signing certificates (`man ocsp`).
+basicConstraints = CA:FALSE
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
+keyUsage = critical, digitalSignature
+extendedKeyUsage = critical, OCSPSigning
+
diff --git a/resources/testca/private/ca.key.pem b/resources/testca/private/ca.key.pem
new file mode 100644
index 0000000..d4b1128
--- /dev/null
+++ b/resources/testca/private/ca.key.pem
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,8EF47816EA3C67023D79570ACA98103A
+
+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
+-----END RSA PRIVATE KEY-----
diff --git a/resources/testca/serial b/resources/testca/serial
new file mode 100644
index 0000000..dd11724
--- /dev/null
+++ b/resources/testca/serial
@@ -0,0 +1 @@
+1001
diff --git a/resources/testca/serial.old b/resources/testca/serial.old
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/resources/testca/serial.old
@@ -0,0 +1 @@
+1000
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list