1
0
mirror of https://github.com/danog/phpseclib.git synced 2024-12-11 08:39:43 +01:00

X509: always parse the first cert of a bundle

This commit is contained in:
terrafrost 2021-01-07 20:21:27 -06:00
parent 6c090804e7
commit 9de5f3f8ed
2 changed files with 105 additions and 95 deletions

View File

@ -5144,9 +5144,12 @@ class File_X509
* subject=/O=organization/OU=org unit/CN=common name * subject=/O=organization/OU=org unit/CN=common name
* issuer=/O=organization/CN=common name * issuer=/O=organization/CN=common name
*/ */
$temp = strlen($str) <= ini_get('pcre.backtrack_limit') ? if (strlen($str) > ini_get('pcre.backtrack_limit')) {
preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1) : $temp = $str;
$str; } else {
$temp = preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1);
$temp = preg_replace('#-+END.*[\r\n ]*.*#ms', '', $str, 1);
}
// remove new lines // remove new lines
$temp = str_replace(array("\r", "\n", ' '), '', $temp); $temp = str_replace(array("\r", "\n", ' '), '', $temp);
// remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff // remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff

View File

@ -754,100 +754,107 @@ ut3+b2Xvzq8yzmHMFtLIJ6Afu1jJpqD82BUAFcvi5vhnP8M7b974R18WCOpgNQvXDI+2/8ZINeU=
public function testMultiCertPEM() public function testMultiCertPEM()
{ {
$a = '-----BEGIN CERTIFICATE----- $a = '-----BEGIN CERTIFICATE-----
MIIL/DCCCuSgAwIBAgIQNC96aabFWNAAAAAAXBAmjjANBgkqhkiG9w0BAQsFADCB MIILODCCCSCgAwIBAgIQDh0LGipJ++wxFLj8X5MXKDANBgkqhkiG9w0BAQsFADCB
uTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsT kDELMAkGA1UEBhMCVVMxDTALBgNVBAgTBFV0YWgxDTALBgNVBAcTBExlaGkxFzAV
H1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAy BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29t
MDE4IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEtMCsG MS8wLQYDVQQDEyZEaWdpQ2VydCBWZXJpZmllZCBNYXJrIEludGVybWVkaWF0ZSBD
A1UEAxMkRW50cnVzdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBWTUMxMB4XDTIw QTAeFw0yMDA3MzAwMDAwMDBaFw0yMTAxMjUxMjAwMDBaMIIBDjEdMBsGA1UEDxMU
MDUxNDE4NDgwNloXDTIwMTEwOTE5MTgwNFowggE+MQ4wDAYDVQQREwU5NTEyNTEL UHJpdmF0ZSBPcmdhbml6YXRpb24xEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsr
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBK BgEEAYI3PAIBAhMIRGVsYXdhcmUxEDAOBgNVBAUTBzM2MzMwMTkxGTAXBgNVBAkT
b3NlMRowGAYDVQQJExEyMDY1IEhhbWlsdG9uIEF2ZTETMBEGCysGAQQBgjc8AgED EDEwMDAgVyBNYXVkZSBBdmUxDjAMBgNVBBETBTk0MDg1MQswCQYDVQQGEwJVUzET
EwJVUzEZMBcGCysGAQQBgjc8AgECEwhEZWxhd2FyZTESMBAGA1UEChMJZUJheSBJ MBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJU3Vubnl2YWxlMR0wGwYDVQQK
bmMuMR0wGwYDVQQPExRQcml2YXRlIE9yZ2FuaXphdGlvbjEQMA4GA1UEBRMHMjg3 ExRMaW5rZWRJbiBDb3Jwb3JhdGlvbjESMBAGCisGAQQBg55fAQMTAlVTMRcwFQYK
MTM1MjEXMBUGCisGAQQBg55fAQQTBzQ0MDg0MjMxEjAQBgorBgEEAYOeXwEDEwJV KwYBBAGDnl8BBBMHNTY3NTczOTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
UzElMCMGCisGAQQBg55fAQITFWh0dHBzOi8vd3d3LnVzcHRvLmdvdjESMBAGA1UE ggEBAOCl7WccAcvSaf5+pNsV82VjFuwdzEwjDYESZmIuurz95e+JtJZst/M3Hw90
AxMJZUJheSBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmaPd YxKSDV4LdaVFAogXy2F+Npit1KhbBEb8vbBkm4LJ3iM8teE/10JugLyxrcVi3LSj
qOlOyWc8n6MKXI8eIrKgketOTdxuoW1RzfmXB924j2WBzRqNFqcISCYN3a0VpMe3 iKHs+rqxcTJsVYoR+CuPLuAbu4xKi+xQ4tVafrFd0Y21n6OL8nB2SRISHF58kRXq
AqG9A+YyCWCJWmXdTZkAz3LeJCPTqbzf2nigXYfJX1KFhK96eVVcbirIhRtS4O5G UDW/NippF1AhcdCc5L5EmXFPCpyWfv+UXgTj9i+/I9AWUC3diHckb5NXd/wS7Jmq
qYw8v4rokp8YFg/W+c+80i/egNYr4VZCC5zawaYBwtgMkUomSXqz3Yv7JkfZsv5q 5FE0uixRGTixI5a9uZr0jasTtfhlVtvqFyDmzARB/q9IU0eXm3dtcCJISIXGum6o
pSLD5aO2wSIPjCiPpYzxDO2b/kX1goV6Oyvd4PTmvYteER01cx37dkj2mf/bTdrB yCFUk8pyYsGd/M5Fyw7zbmEqsucCAwEAAaOCBgswggYHMB8GA1UdIwQYMBaAFOsN
nHAyOF8+84ItHiZjHpi7MIxcmvi40wcPszPsx2GKyQ1604TVR6p+ZT9Gt4qMaJ7h zmX0UnV7TbPUsz0w41AYq+NuMB0GA1UdDgQWBBSkuL0+t0wu/+y2xkUY/FOSsiuV
I7FQCl2dUOEzSF/4NwIDAQABo4IHdjCCB3IwggVkBggrBgEFBQcBDASCBVYwggVS ODAXBgNVHREEEDAOggxsaW5rZWRpbi5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAx8w
ooIFTqCCBUowggVGMIIFQjCCBT4WDWltYWdlL3N2Zyt4bWwwMzAxMA0GCWCGSAFl gZkGA1UdHwSBkTCBjjBFoEOgQYY/aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
AwQCAQUABCDQkSARaDrob8re0CIWy2UxJ97L55pY729ITDKZYPUWLTCCBPYWggTy Z2lDZXJ0VmVyaWZpZWRNYXJrSW50ZXJtZWRpYXRlQ0EuY3JsMEWgQ6BBhj9odHRw
ZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxINHNJQUFBQUFBQUFBSFZWNzIvYk5o Oi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRWZXJpZmllZE1hcmtJbnRlcm1l
RDluQUw3SDFqdFV3R1JKaWxLb2x5N1JiTTJUWUVWR0xBdDN4MWFrNHhva21FcHR0 ZGlhdGVDQS5jcmwwUAYDVR0gBEkwRzA3BglghkgBhv1sCgEwKjAoBggrBgEFBQcC
T2kvM3Z2SFpVbXdGWUR0czZQOStQZHU2TzllbnYrdHhQSCtqRHVobjZkR0tVVFVm ARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAMBgorBgEEAYOeXwEBMF4G
ZGgyTzc2WnAzOC9kZVY5TW5iTjcrOFdMMlVVbnlzKy9xd21ZYkRVcnpiRHJlMStO CCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL2NhY2VydHMuZGlnaWNl
UjE5K1BFa0xCV1VYUXEvcno1S0Q2Yzk4TmhFbjkwOTQzODFBdkY0RTBzc2hTRjBs cnQuY29tL0RpZ2lDZXJ0VmVyaWZpZWRNYXJrSW50ZXJtZWRpYXRlQ0EuY3J0MAwG
cGMzdSs2cmRDdmhKQVMrY2RqODV5R1NRUVI2OGQxMGs3VGZybFluRTRuZGNyVWNH A1UdEwEB/wQCMAAwggOsBggrBgEFBQcBDASCA54wggOaooIDlqCCA5IwggOOMIID
Z1dWbXU5SVAvWlpYbnVkdjNkL3ptYXFxb1dmRXF1NjBUdno0bDRtSi9IWFgyNkhJ ijCCA4YWDWltYWdlL3N2Zyt4bWwwIzAhMAkGBSsOAwIaBQAEFGckN8uhuoNkcXXh
QUtMYXozZUNkaW5CNjZlcDNVL2VhMnErWHRKdHcxaCtHKzN5NzcraVNlZWI3bTJz wRAm7wkz4JRLMIIDThaCA0pkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LEg0c0lB
dHh2d25rdmovVVkzMDQxZ2szZ2hSaWV0alR3VlNmcDBVWVJ4eGNxSEhTWC8vWmRk QUFBQUFBQUNsMVR5MjdiTUJDODl5c0k5VXlhKytLanNITElJVWlCRnVqSjkxUlJR
M3kxeXQrdmY0V1VmT0k1dSt1dEgxRTdZeCt5RE9iK1VjMG0xR3RDL2YraDYrYlVW cUdLSGNTQ25PYnJ1NVRVQkMwTVNKN2w3SEozZHJRL3o0OW03bC9PdytuWU51Q3dN
OWNlbE1DWFMyWUJ3ZzFZcmRkSjVkM0RiTllIZW93aWRCdFJ0S1dHQ1hpdE50TzdU YTlQNC9IY05tV2Fuci9zZHBmTHhWM0luVjRlZCtpOTN5bS9NWmZoZmlwdEUySm9U
cmgvdHQ2MTdSVC9MSkE4S0o1U3ZINzBBd3hCOENMaTlWK003VlBxV2hrNVBUWmxG T21IeHpKdFlCNzZ5L1hwdFcyODhVWWpab24rdkR2M1AxNU9EOFBZdDgwMEhIL2I1
cVoxTGhDWlVGNlZhWmFaZEk0WUtxS1JxbUtvTk9NempLeXk5Um9sY01JQnFFNk5i M056dForR2FleXZ2ZzNIWC8zOTErTit0K0w5ODkxVWpITEh0dm5zWTB6WFd1Ryti
bHlNaWVNRFFySk95Mk5vTmR2cHZUS2NYYWJtdkxKK2xIemkvaHNLc094WGxrcVk1 YjVMQkJkek5vR2NSTHdGenk1NzdpeWk4eHlzUXdETDNnR2dnZWlZWTBYczJWQjJu
VlBjWXA4UkNYMUxiR3FndFRLU2l0Qmppanhzd2hrZW5Ja21sb1ZvQ21OWjJvRmln T0ZRODFQb0hBcVltaFBGUUhLRXVSTDBIdk5CbHhBTGgrQlNsazZwb0R3VXJnUU1i
ZHBESklCTkpMcVJzTmtLZzlhY2hNZUlXalJFc2pNUTh4dTZLamtwN0YwUWdaYW9y R3QxcVVBazJwVjlBRS9PQitxc0k1S2xwUlN0cG5GSWxSSlo3RWVDZHZQVzdQNmQ5
Q1NhdWF5UWsxTEhNaUlwZkpZQ2Z4ZHpGMm92SVZsZ2tGVjlHSk1qS3RTYStCR1Zp T2JtWmgwVFdGd01ZakJrNXlHVnBFc0pNbU1BUjVHS1hmRmhPMzU3cWwwbnNFRGVl
RE1rWWJXcE15RENoYkszTEFhWDNpbS94bWNqWVB6Sld0b1NEWGk1MlJGTGZySWls Y29kQmcyVFZVblFjSFJBYkJBMHRDTGRpTDQ4OHRrdVVkZzRkbzF1SExzRlY0cjlD
cU1WcEFsWkFUZ1VnWWRwS2FUYTRTVCtEbEdidHlqWkZHVUV1UlRDcXJvaUJxREZY Q3BsMXRJeDZKemVnMFZ4T2RGeUFTODhMMm03WU1sNnl1QkN5bVpycnNUb2N1YVpS
THNCbWJ2cFVVdjBLVlVycTB3SFFOWDNoeDB4L1V0ZTVGRnA2Q3FwWFdrYVVWVTJj S094YUZhUXV5UTZGNXJ0cGI3UnUxd1N0SXdPcVV2NkZORjRWdFVqR1dGdEp2NUZn
QVBVS3hKckdobUZKSFJidEJadEFJR0JXVXlIbW1jVVVwUitaSGUxeUQrRTRHeWVi S3p5d3d4TWprUnVXZFFBZEdEZEJqSjIzdXJGVEdvT0liU3FHRUZhNjc0RGJUQkg0
TXR4bThLUXpyUUN2R2lra1lPRDRoTWhTdmlVV0E2L0RIRGtwM3BLNm5nOEFBYXQx eTBuOVFBWjBqWHE2WVpDckhZNmlGYlI3cXYwa04rVi8zK0RIdXB2WFdLQXJNcWdF
a1h5Smc3OUJnN1JmYjBXU1dTdENxeDRqcFhCV2xUZEJvdG1ZQ1dDY0lPV01rZTJO YThWTXBXbytXRkdVcURPVWkxVXh3M3BJR20yUzZ4VXgyU0FlVUc2V2xGVDUvVnN0
Y1NmV3BXbGpyRER0dG8wSWVQNnBDR0VJMDdoMmdsV3pUWk9GZkNzTG94bWNNRjRy S3FkVitlcWtwNHFTTHFnQlJTcmpnRzFTTlRCb0pETE10ZWpHTWEwT0hyNVg3Q3VZ
VjF1Q0s0R3kyQ0EyNVB4bGU3NFB2Rm0zdkRKSDhpb29zaVdzZUxpeFk2YVVtdmxJ cXlPaC9WMFhwNjNJWUxTMTl4YUtlZGx0UHFsWDMzNkEwYlJhNW9nQkFBQTCBigYK
VFBlTEhMeml1V3pIWThiT2xvb2kzNjZ3eGt6a2dndGlTc2E4NDBGNXQvcCtaUCtt KwYBBAHWeQIEAgR8BHoAeAB2AFVZU64wlgCAbNLrUgimyZ6TGCisEFa0QhxVNhVM
OTQ4eDB2cWU2eTJRWUFBQT09MB8GA1UdEQQYMBaCCGViYXkuY29tggplYmF5LmNv X3WsAAABc6DTF3wAAAQDAEcwRQIgRsnN1miYsyCMT234C14MaMgSAgKHXmc7RrBM
LnVrMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUAVYHUwhaQNgFK6gubVzxT8MDkOHhw a/1ovTMCIQCOc/THDvltzhZrtnoRSbjc2EYp57A0VVHvduQPa7FKBDANBgkqhkiG
JQgXL6OqHQcT0wwAAAFyFJ9ciQAABAMARjBEAiBI40aXqg6PJiDDf8vz4RP9cKay 9w0BAQsFAAOCAgEA8UQt5jcUeOaDkhvbLq380Oq1Jy8Vr1BO1GPisn20KRCz/NvE
kBSUjs5oGiPJlBmJCAIgAeJzF/JVCiXbjgxPL9QTjYe+wn1DHqhzsjBWEoKYiZYw 56f8hhmZlZ1xXfOM+JCaGQnwVwcRBQtLQ/+6bmeT8/WM3hf9A5rP0g0ZxvaAlQtu
EwYDVR0lBAwwCgYIKwYBBQUHAx8wDgYDVR0PAQH/BAQDAgeAMGYGCCsGAQUFBwEB e6UjvgnNx02QOKNPrmxN0rW8s24kUi0OAf1ump3SY5Ab+S+ywRG7Ah+3qch+FwA8
BFowWDAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZW50cnVzdC5uZXQwMQYIKwYB CYau9TgV5kvfYDRULBM84EeFhsPcwT+YJ5u7RvkGQobqNao21Ti5tupiks/9NzI8
BQUHMAKGJWh0dHA6Ly9haWEuZW50cnVzdC5uZXQvdm1jMS1jaGFpbi5jZXIwMgYD splBS77Z6bPdFGvZ7pJdXiiDB2+SZdyv8iqDFM6mKRbOcuwAHcTY2zVhcS46H7SO
VR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC5lbnRydXN0Lm5ldC92bWMxY2EuY3Js 8OU7L/2y0XQB1rMtQDarCKwdAcsAb2e+N8mYQ0glQX4k41Sf4saMXsU1EjnOCUas
ME8GA1UdIARIMEYwNgYKYIZIAYb6bAoBCzAoMCYGCCsGAQUFBwIBFhpodHRwOi8v YxvVgJRD+fe4JWf8EO59fElzkrQsT3guBIzV5Kg1dYaCHngCYQIakjKQM0eKxZ3d
d3d3LmVudHJ1c3QubmV0L3JwYTAMBgorBgEEAYOeXwEBMB8GA1UdIwQYMBaAFIu2 vn4648A0vXynhJUThOSxN4jbvVA5uYYHqHDMjJtkBPDA7HtLSIxRNattshOAoeC5
OXbQNJCmP2LhZOo+vPR8RqFzMB0GA1UdDgQWBBRMIHPmuhcI/NyAybe3LKA1gblR LMszAsL9th/WoXkAa2lTs2kashOHEpx+ncGactrL8tu7dvU01Yk6yP1QAjFEo1Nt
/zAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAjBJ/SPTRn8/kjfhLOBnhe 8umUG7jQQIuquB2ry4qzFuQvKpbNQZ//9RsSmq1nni+DEKd/S63N7T8M0FpioLVm
5QPkifZjsLqHJyWUCUoqFfKKazq6T6STMLl0drbsVWyc0Mh6sUSgUwh4Hn0DmGHu Z2OXFTCG5ORjPUOyMGjxzjEPZWmTOG+gqNOc0HKXbuBAsGZbK4dind+YdZE=
ghDF5JCtoPYUz+G7l1BsAlGOvYd0H9ZcmgvfhiIjpn98Go4O/gXlK1oCd/jMIOMH
bOVB9BLb5ppf9uU2TCxTY67qUx5YylT3bfF4TVM0ZOYERQSZNByRNcFaku+FUpzU
JHHoDqokPw+0AFG2NgPiNhOg/nPh/pEWUYj5qjqgXP/hEvXerSFhdp6sN2OxES7p
GkO+J90tl9B7UQVtTO1bgGq98HIRdfusGzK5IG2MMT1CtPYR8S01mkf7KMiHK1zb
-----END CERTIFICATE----- -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIFJzCCBA+gAwIBAgIRALPSJ9szCF4XAAAAAFHTkx8wDQYJKoZIhvcNAQELBQAw MIIHLzCCBRegAwIBAgIQDZXVhKBTvJ0ZjW6meNxHhTANBgkqhkiG9w0BAQsFADCB
gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL iDELMAkGA1UEBhMCVVMxDTALBgNVBAgTBFV0YWgxDTALBgNVBAcTBExlaGkxFzAV
Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29t
MjAwOSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw MScwJQYDVQQDEx5EaWdpQ2VydCBWZXJpZmllZCBNYXJrIFJvb3QgQ0EwHhcNMTkw
BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy OTIzMTIyNTQyWhcNMzQwOTIzMTIyNTQyWjCBkDELMAkGA1UEBhMCVVMxDTALBgNV
MB4XDTE5MDQxNjE1NDU0M1oXDTMwMTExNjE2MTU0M1owgbkxCzAJBgNVBAYTAlVT BAgTBFV0YWgxDTALBgNVBAcTBExlaGkxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1 MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBW
c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxOCBFbnRydXN0LCBJ ZXJpZmllZCBNYXJrIEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD
bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxLTArBgNVBAMTJEVudHJ1c3Qg ggIPADCCAgoCggIBAPfhMd+2RBjNZpqq0GVUF0kKK72fQxhJbnxgYv7GFpmi69sX
Q2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gVk1DMTCCASIwDQYJKoZIhvcNAQEBBQAD dgeqH9RE07ShTDtkLks9G/GuiXsLEmjSCBDDTwfB3hpbdrZsNQFWOIRHXmU8ykuP
ggEPADCCAQoCggEBAOrOE7nPsgxnWadbz0f0D+btzyoxflXpbrILq358XJUn6MRq bCd/HVRZGULeWvbt93deEB1el5MpxP9Fs3LKjw7xytbuM/nkGJ4D2R1IHC953FoU
k1m9BmK35G7bf0myFreyx60Rxcj+SvNRsraMd6FUzDuOccfK3PzbUktMKPxMBFh7 4BYsp+8VB1+7Gh8eKVh+HpmBeEfIB+cuq4FpZKxi+F5J7UjW5yO4SuDcTF4AMY0J
R4/ZSNBMTko2fn7jhRPdFW9k0N+sSKtHwhu0xw8qzGg8oFRJgJgpxZv1zzrny43E DPuKIy+Og6laNOtDS30P1CUu1N6BwLMYTbeqyYHJ7B3kLWsDceGMqIcxo8zrk1rT
IuRiozQgg2J3ZzY4ova0s/BM/SLqdsGo+Jc68S7jsI6K7zKvw0FB3T6SWYxrBc1p sJctcXHXhB4k2PnVxt8qkQjg2Lo++kU0dFSUyrzvg3WrGypv9vphWMI+vmCjmu2K
GsYvlmbCrDs3AP0Jcuske1GlLzFUpUkrvx4na9i4t7XhxVcwz3AuMRbU4nHDIc0w 0BZLZ4nKshoTX495R6pGbsecGaaGgACB/1NcGI7PVp7spY2ytLvHHZ+Hh446BGFy
tLG9Fm24xB31kSqybtpxEGC/oNybhCWjQDqYW58CAwEAAaOCASEwggEdMA4GA1Ud AdM8lZCMXEhNftP8RRRVr8mwHHzyIa86r4yk0SkOlXUkNrGdTqqyMSDJ3W7DWGO/
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1UdJQQMMAoGCCsGAQUF vCObzXiM0aq77ebD/0fE5LsZhEJYx7txF9NA1DoICgHp8zqF35i3UOp4+5IyJ8A9
BwMfMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3 MjqYcX+LayH06B45bMgTHLmJKcsRYvXAtu+nIvIL0fk4+Ea7kJ7MNx5/udS89b2f
LmVudHJ1c3QubmV0L3JwYTAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0 vSFC4hmA3OBDiJqGmldwqJL/HP7RI8O54yj10vpiH4obDo8QgfhKSVoX5HwDAgMB
dHA6Ly9vY3NwLmVudHJ1c3QubmV0MDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9j AAGjggGJMIIBhTAdBgNVHQ4EFgQU6w3OZfRSdXtNs9SzPTDjUBir424wHwYDVR0j
cmwuZW50cnVzdC5uZXQvZzJjYS5jcmwwHQYDVR0OBBYEFIu2OXbQNJCmP2LhZOo+ BBgwFoAU7G8ipLME4sFjh+Z3Y+pGaU7u/OswDgYDVR0PAQH/BAQDAgGGMBMGA1Ud
vPR8RqFzMB8GA1UdIwQYMBaAFGpyJnrQHu995ztpUdRsjZ+QEmarMA0GCSqGSIb3 JQQMMAoGCCsGAQUFBwMfMBIGA1UdEwEB/wQIMAYBAf8CAQAwfAYIKwYBBQUHAQEE
DQEBCwUAA4IBAQBphKvXT6JDtmuQAhgH8nZ5Xo9LlymnCw5fiGpQJ13rsr2A2Jnl cDBuMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRgYIKwYB
1Z8poTwskM71kIImRctlYs2Q52Sgvd0egxvcPELQSL7BMGPU42BijWCEvnD8GZvU BQUHMAKGOmh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFZlcmlm
/1x5pOg0F2SiEQ5ycmC9ADr2EskcbqMh2QMOOlNV4JfFjtUY1JCTviOWJ7O29wsE aWVkTWFya1Jvb3RDQS5jcnQwSAYDVR0fBEEwPzA9oDugOYY3aHR0cDovL2NybDMu
aVMiY6EdrsN1hjqmwaxfzTVikM5m+jgUKWqK3U+56outMWziOfxcpo+Ur67hTglc ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VmVyaWZpZWRNYXJrUm9vdENBLmNybDBCBgNV
fTUKIRMTGhDMVFbwW5O2jINlBjGt5yAbhI/LnRwPvB99LFkISKX50c2NDEkOzEPp HSAEOzA5MDcGCWCGSAGG/WwKATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5k
mDaPrsUl15evEah6amsBfpQiWRbKpDLKs1kF aWdpY2VydC5jb20vQ1BTMA0GCSqGSIb3DQEBCwUAA4ICAQA6v371ixHAA9WyGlFr
+RvmmqkZZg9pf6+j5sKImeTFAHfYz3TJa2wmDRpZxSRYy9VUFOMPVDEavsJ2i5Ua
jEpkJ/7VHbX60joKBxQHKCbMpbwGen6pTXRaeE6CET2zCMbyiIqT2E6OiBZL8cWT
sgLbdhVKspoOi+c3JwTR4khR24J9IQVxK90Nq3zeciYgBvM3G+ZJtZgkA58CRdex
xVO6O57bwe4ti4rlRgWOGgAFpFrJSD1jqhhHD3MWg17NI4k0ciBPoDHHBAI8hiqg
jPM+y6aEGww7BFSfkp5tl/Aq9uGXCwxNLOc3UlUd8Cc0qH1KfkvjrumVMmJhsk9I
88YefbCuGPZ5Q8V2LIz7LrNDh0VRq/HSENXn1sBGlAFahgUTk/cWJ8nKA+8mHMlE
NGmx205Rtbf9lVL1CbH3QFwlvGEfqoMXw6G9JW2hFQVTKpBKuzjQw43CEw12lstP
oa96ixNAXXVGJsdKpYCqTIWJ0x1DssvG2shvzdHxawvYQ3C+/jaEoQ6bxSIdanI2
NMtBdy9Q0TjDc7uf/eaUYKkP4wskNc1Os23oHllFHVm++8wdDltNulc7B1TXIQ+2
oD5EoULMFSVUHX8gtyd463GgOQtBDwf3aZ4Xe6eDrhdfI/4IW098kVcg+qFO841L
qzFkAKWjJj4KjfrbZX4C0Spfxw==
-----END CERTIFICATE-----'; -----END CERTIFICATE-----';
$x509 = new File_X509(); $x509 = new File_X509();