Created
December 3, 2015 19:57
-
-
Save rsc/902e44eb7bce01e9810e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| import ( | |
| "crypto/x509" | |
| "encoding/pem" | |
| "log" | |
| ) | |
| func main() { | |
| pemData := []byte(chain) | |
| var der []byte | |
| for len(pemData) > 0 { | |
| b, next := pem.Decode(pemData) | |
| if b == nil { | |
| break | |
| } | |
| pemData = next | |
| der = append(der, b.Bytes...) | |
| } | |
| certs, err := x509.ParseCertificates(der) | |
| if err != nil { | |
| log.Fatalf("failed to parse certificate: %s", err) | |
| } | |
| println("parsed", len(certs)) | |
| } | |
| var chain = ` | |
| -----BEGIN CERTIFICATE----- | |
| MIIDtTCCAp2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJERTEP | |
| MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xGjAYBgNVBAoTEVRlc3Qg | |
| T3JnYW5pc2F0aW9uMRcwFQYDVQQDEw5DQSBFeGFtcGxlIENvbTAeFw0xNTEwMTIx | |
| NzQ3MDBaFw0yNTEwMTIxNzQ3MDBaMGQxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZC | |
| ZXJsaW4xDzANBgNVBAcTBkJlcmxpbjEaMBgGA1UEChMRVGVzdCBPcmdhbmlzYXRp | |
| b24xFzAVBgNVBAMTDkNBIEV4YW1wbGUgQ29tMIIBIjANBgkqhkiG9w0BAQEFAAOC | |
| AQ8AMIIBCgKCAQEA63VI14BcBdlXVorQ7pymCbgrII2K+gEJ1hljRs3VZSLJ9fzc | |
| zVl72f9QB9Ie5MXb8k/YrnMLv1j6Yil1bMhdU1Mgt4rWTRvM7pIRNydle06Jd3te | |
| VitzD2+3WVtU1K6HlRyxD4VxIaN5kXQXqGqfYskvU3jd6OukrsEhEP7VFQrtMDPG | |
| H40vwXZctzjUrmXl6HalhGcA0j7hdEYIcM9Yk7DQXRqsCeP92aSr3cZlZXYPtZg+ | |
| 3G9UYfDfLV6Bd4AM9HLhurm7rRUvs1gEXBS3tj49GUm7R6qtWxB0KHz4S85cQe6a | |
| M1E+gjh0vkXyzE80wWGbN3KXvy3ZbZ7dFkrXmQIDAQABo3IwcDAPBgNVHRMBAf8E | |
| BTADAQH/MB0GA1UdDgQWBBTYfyH6lcnyJXTeF4hkbGm1F+EU9zALBgNVHQ8EBAMC | |
| AQYwEQYJYIZIAYb4QgEBBAQDAgAHMB4GCWCGSAGG+EIBDQQRFg94Y2EgY2VydGlm | |
| aWNhdGUwDQYJKoZIhvcNAQEFBQADggEBALJT8snkfPmWzWlcdP6N0MfNTKoj+7Uo | |
| ZPZmLLHQCALSxf5XI97Nllq9GCpyteb5vH3EiYjmDNJMVA+o6Sf9vg0GroGXlyQG | |
| fgTeEpcPBlbgybA6JzxRsixIpKs/z9F9qm7XcEsHm/EPr290fWDQ8u4FrWN3mA5b | |
| pihj5pJ2Ui1P+yJW7qCEO0lSaP5KrG9MHEbXlFuWGn2ACWTAR5RsOuRwNE0/ZE62 | |
| X6oJxrNCZWHYGEoKzjr5PWW59LFtXjaEhNdX3damrMivom4R15o/VX+FlFuch9Ab | |
| AChZmTeFQIqGw3cUcuUxgviLFuAhnHtxi8iWl4e+F8CaA+wHiJ1gf5Y= | |
| -----END CERTIFICATE----- | |
| -----BEGIN CERTIFICATE----- | |
| MIIDujCCAqKgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJERTEP | |
| MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xGjAYBgNVBAoTEVRlc3Qg | |
| T3JnYW5pc2F0aW9uMRcwFQYDVQQDEw5DQSBFeGFtcGxlIENvbTAeFw0xNTEwMTIx | |
| NzQ4MDBaFw0yNTEwMTIxNzQ4MDBaMGkxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZC | |
| ZXJsaW4xDzANBgNVBAcTBkJlcmxpbjEbMBkGA1UEChMSQ0EgU3ViIEV4YW1wbGUg | |
| Q29tMRswGQYDVQQDExJDQSBTdWIgRXhhbXBsZSBDb20wggEiMA0GCSqGSIb3DQEB | |
| AQUAA4IBDwAwggEKAoIBAQDN1Hk0pQlzD/n1IptXBQicKx3i0H1QjBTO3m9lajjd | |
| LGBU1AUi4ZEyujGNLZRouJdoA23YmGjyvVPWSOhG8z0mHBaJ1IRJfm3jyybcHGc+ | |
| XGnfz4zNJ8O6uL+nCA2qD5jwtM42AVF9kbh2UKRQFwex1Akieh5MRnSKKd53qKDm | |
| 7DSjgIDutXHM7FzzoM516khNZQlY96qgzNNnrZuMP50v/P2tyN3oApcPxveIpi9D | |
| 3B1eK77qZ7z3w4blzQW1sa+X5Z7mSN+E1wvsq5inEzIyykgADm4v7Ku03NBKpe/k | |
| RE8Gbe2etEZIWeyenmH/VU5kqIO269PYGTJMguspMH1nAgMBAAGjcjBwMA8GA1Ud | |
| EwEB/wQFMAMBAf8wHQYDVR0OBBYEFNH5+nwpJArYSpw1vnYt46fDm/+gMAsGA1Ud | |
| DwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwHgYJYIZIAYb4QgENBBEWD3hjYSBj | |
| ZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQUFAAOCAQEAruwGCNlbRDDPb5FGMhtAd4vn | |
| I2wNnnmR2C0um8BfZhsIOPyTjLERqz2wH1v9B/QwipEXmT5widAzukia93gAiTd4 | |
| vM4NrkMOkoLMSftMI3onC1+uY2seEtFx3E5XUunTiXnvFrXx6X1i0B/ZteLCnWJX | |
| n+iwdvc7aJdRqOxqLTYCie6Dd+iAdfvvjTb8qxSqj9gst1kRzsczu9X920A7e146 | |
| 0C6cbp2w90RXoTpd4UaoR3VScHlI04T+PqeinwkVb+wIfpKAMSqqnvqeGHn5zrua | |
| dOkteKVKyQP+cssXwCa+Xb1PbtEWYdA7XY5v/Y+8CWAT3+Mzms5EOlyxHM51LQ== | |
| -----END CERTIFICATE----- | |
| -----BEGIN CERTIFICATE----- | |
| MIIDxzCCAq+gAwIBAgIBAzANBgkqhkiG9w0BAQUFADBpMQswCQYDVQQGEwJERTEP | |
| MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xGzAZBgNVBAoTEkNBIFN1 | |
| YiBFeGFtcGxlIENvbTEbMBkGA1UEAxMSQ0EgU3ViIEV4YW1wbGUgQ29tMB4XDTE1 | |
| MTAxMjE3NDkwMFoXDTI1MTAxMjE3NDkwMFowcTELMAkGA1UEBhMCREUxDzANBgNV | |
| BAgTBkJlcmxpbjEPMA0GA1UEBxMGQmVybGluMR8wHQYDVQQKExZDQSBTdWIgU3Vi | |
| IEV4YW1wbGUgQ29tMR8wHQYDVQQDExZDQSBTdWIgU3ViIEV4YW1wbGUgQ29tMIIB | |
| IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyrF11H9SfWA+wJriMwdE3L9x | |
| KWa6iVx77xI0ztx+3g/ucHc3NqvXkrRiyXvcHoA9y+QHOCMHzumTKVrDm3+R0QSI | |
| ctcUqbf4HqzyxsYBnGKgKk9IR/M7RgWiOMZSUSnh7aX7gBOejfy6f8YOfpwRhdoC | |
| tRYSm6Aq44HeBlbDNBRqXkwgqTJQY5qysl9TntOYkRUxZoBUaITI4xT9PnZvRYzX | |
| xdLblEnvxLO5whbqjW+GKIGof0Q0prMv/+CgnDcYVcHr8gZBvpSIRmPYqXNykihg | |
| VZldgPUWuDAA79EAQWX7mYyAOMAk+E7SqMtA+JMpZJS8w/gpT62tF5MWoE0HYQID | |
| AQABo3IwcDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTdW0+iVe+DfCwxe2Js | |
| QJ5kGmth2TALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMB4GCWCGSAGG | |
| +EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwDQYJKoZIhvcNAQEFBQADggEBAHFUyXyr | |
| TNJtM9thGP6W8raCWrsssqX9faICct3Yo6SrHStbHfqD2qxHn71zXtSPf8iA4lWb | |
| Xop7xe71yAfoJ/alNDTaIxmd+2X+VQ1T1IlTH3P6bAVGsNHhEYxt/QOizGkOt5h3 | |
| VzBieg+wUZ3X7AX+B2rzscVT14UDaLmta8fzbc3z/6rOckd4DcQCWWIRvwnQvm1H | |
| 64094OcPlcZNnGl4/6OQhmuwp/BJsVkGEC7S/+rWCalwVQGsHBh+KiH+5E8Zekbc | |
| beqwXMUe1PGYIfRjga8XsU3SDC7EMjm2qfWpVlMYFuYFMq3ZNANb4u7ei8vIJ2dI | |
| /iTX3MQK1hQw5yc= | |
| -----END CERTIFICATE----- | |
| -----BEGIN CERTIFICATE----- | |
| MIID1zCCAr+gAwIBAgIBBTANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEP | |
| MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xHzAdBgNVBAoTFkNBIFN1 | |
| YiBTdWIgRXhhbXBsZSBDb20xHzAdBgNVBAMTFkNBIFN1YiBTdWIgRXhhbXBsZSBD | |
| b20wHhcNMTUxMDEyMTc1MDAwWhcNMjUxMDEyMTc0OTAwWjB5MQswCQYDVQQGEwJE | |
| RTEPMA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIzAhBgNVBAoTGkNB | |
| IFN1YiBTdWIgU3ViIEV4YW1wbGUgQ29tMSMwIQYDVQQDExpDQSBTdWIgU3ViIFN1 | |
| YiBFeGFtcGxlIENvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAND+ | |
| 6nMIneYYmoDYK6m/DlE3B91OkoelLJW6kP1lwkH02NEIod5CrrLiDBKh6xHg0mwC | |
| mEkkRBOKUYngqvYXSAfVM7DINYNUuzGCwCTF22vYzSzziPGCCYiZgVpHECQFXTyf | |
| M6djj7cAsdvYgGYTPfkaSS9EqmOrZgT1n+1A8rkjUiYszEUWSiYBrC5nfPhUdg+8 | |
| f33SZf0iIcbB9Mi8OruEAsyqop2dUtmKuWx0TgBOx8hvmWPnax1mfTFumbA7qMlt | |
| gTDaN9iuwZ7ip+H0+qnPkMv9xiJfVHrDzdR+9+Tix/NNHyEAqPk/YRDX3jUP3yR1 | |
| 1tjDDCHlH4FjRwXgKIECAwEAAaNyMHAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E | |
| FgQUUeTDom5JD3gHQnMWUMcQ0D5JurQwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIB | |
| AQQEAwIABzAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3 | |
| DQEBBQUAA4IBAQB8mSAWpfzqN80Dxo6y1/Ly2nSuNzXiT6Y4JZ82/RSW4E9Hb2A6 | |
| AM92u1Clxsccqb74L+rvb9X1PyGMi0Prhsxrk3ie5TH/+EqghqhbXLorjk2t4w+5 | |
| H/vG0ygLUX8VUki+0S7dBn59+EdZfPfRPcgiEZNIP9BsH2Hb7swT6ZVTVLQ1PsaX | |
| 5Px1+oLAZXfcmL4ihAZIZIXg6zreZw1atR5bas370cf45Or0jzYF3j8X9a4Gk4iL | |
| Lape3LkpFeLc7v5mUu5sKhScuxZcLQ2JHNo7Kz6r+fdWrm2v9ABdh9pBT77LoS/+ | |
| XDFT+xEWrHpAoUKBE7TpuSKoLawqcxtHPWCD | |
| -----END CERTIFICATE----- | |
| -----BEGIN CERTIFICATE----- | |
| MIIDzDCCArSgAwIBAgIBCTANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJERTEP | |
| MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIzAhBgNVBAoTGkNBIFN1 | |
| YiBTdWIgU3ViIEV4YW1wbGUgQ29tMSMwIQYDVQQDExpDQSBTdWIgU3ViIFN1YiBF | |
| eGFtcGxlIENvbTAeFw0xNTEwMTMxMDQ5MDBaFw0xNjEwMTIxMDQ5MDBaMGkxCzAJ | |
| BgNVBAYTAkRFMQ8wDQYDVQQIEwZCZXJsaW4xDzANBgNVBAcTBkJlcmxpbjEbMBkG | |
| A1UEChMSU2VydmVyIEV4YW1wbGUgQ29tMRswGQYDVQQDExJzZXJ2ZXIuZXhhbXBs | |
| ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDct+jxb4+l5dm | |
| tAo1EL4jP6vnrDY7YXKle3oq6py92CwtP2/AGy+guOqD/55bYAinVeZcTqcIJrH5 | |
| bL+6r7qxKXEzbjvxuuznxiC62Yb6p1O03seU6pQ9/pFA9Bhv3S8OBcW1aNRc+egI | |
| HHho6BsKfxEmS1WaM85iFMz+Pvs0KtKAyyYeJPch2FQ591egzX4sw4kTRLv0WCg7 | |
| LjsbUJh4C1i0U6azMOMBkAyHb4pGGRe0sLWo7imhD5RiLkcWysGxpoYxjYV0UlZ2 | |
| gUzxgCrO3hK5uUQm9F8r2kgjJzNMhipDuV62nQufxUj2twXMsFREbR8OK2SBWgXL | |
| pkhQ3EmxAgMBAAGjbzBtMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFPWgZEupDE42 | |
| mSCAV/K3sp3abdJNMAsGA1UdDwQEAwIF4DARBglghkgBhvhCAQEEBAMCBkAwHgYJ | |
| YIZIAYb4QgENBBEWD3hjYSBjZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQUFAAOCAQEA | |
| ke7ho8pnzpJYHVCOpY6YmpZRY0xUZMOjvKolZ5v7ryR2UWOQyWHzXz4RkXv4bJ2G | |
| f1h0u3bfV4ysA6xK8bFEYzRsqa6igh3SQPd1qJwonT96LDneMM2ulCWU6qyxuU0q | |
| ds8CS0Jaay1KIGvzQ+cGdae2pGLRD/5YssSrM6hjxTRR3ibxJb3lZmqOMDtLUKQp | |
| wJYG0WYGvFL8iKLfHrVOzq0q7/ccOUFHUudWcA0qH28mHmrT9kvgHrH4drTGxue3 | |
| rT+Re5WrmiRVcFz9gbazH2P9uuh9u8hHEJ1uvR2+YrBwvGjJM+7rgM+L8dLBikTJ | |
| q5GdqBBPkeGxcpX38gpqxA== | |
| -----END CERTIFICATE----- | |
| ` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment