package testdata import ( "bytes" ) var ( // EndEntityCertificate is a PEM-encoded end-entity certificate that is // signed by IntermediateCertificate EndEntityCertificate = []byte(`-----BEGIN CERTIFICATE----- MIIBbDCCAR4CFDfeuu6XURfn7AE4WShuwZBHEaLIMAUGAytlcDBsMQswCQYDVQQG EwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkG A1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEW Ak5BMB4XDTIwMTEwMzE4MzI0MFoXDTMyMDEyMTE4MzI0MFowRTELMAkGA1UEBhMC QVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdp dHMgUHR5IEx0ZDAqMAUGAytlcAMhAJvk390ZvwULplBri03Od4LLz+Sf/OUHu+20 wik+T9y5MAUGAytlcANBANekliXq4ttoClBJDZoktIQxyHHNcWyXFrj1HlOaT5bC I3GIqqZ60Ua3jKytnEsKsD2rLMPItDwmG6wYSecy2ws= -----END CERTIFICATE-----`) // EndEntityCertificateSerial is the serial number of EndEntityCertificate EndEntityCertificateSerial = "318961541902906095038704399034602270237826065096" // EndEntityPrivateKey is the PEM-encoded Ed25519 private key of EndEntityCertificate EndEntityPrivateKey = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIDme3WaCwW2/FX095yh02yIIsn0D3vbvN5NsJzcdUwq1 -----END PRIVATE KEY-----`) // EndEntityCertificate2 is a PEM-encoded end-entity certificate that // is signed by IntermediateCertificate2 EndEntityCertificate2 = []byte(`-----BEGIN CERTIFICATE----- MIIBbDCCAR4CFC4G5ep2NoHAmvFkmFID7y4U/BryMAUGAytlcDBsMQswCQYDVQQG EwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkG A1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEW Ak5BMB4XDTIwMTEyNTIxNTkwM1oXDTMyMDIxMjIxNTkwM1owRTELMAkGA1UEBhMC QVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdp dHMgUHR5IEx0ZDAqMAUGAytlcAMhAKwG0O/Ql+L6O8aq8BZ+KOdJmVLdcnOmMENR H7O84kVFMAUGAytlcANBAJIUg3wQ5AvhOaITYB/9rT5cm5dcklOdEIwAqvmSOEXf vgCpSAz29bnKYJmjwp6mkXx3f31h39G41zr2wRjKnw8= -----END CERTIFICATE-----`) // EndEntityCertificateSerial2 is the serial number of EndEntityCertificate2 EndEntityCertificateSerial2 = "262767408425771953673235905171292083847897553650" // EndEntityPrivateKey2 is the PEM-encoded Ed25519 private key of EndEntityCertificate2 EndEntityPrivateKey2 = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIH65lXoCT4N9q4mPmDcsmAqIqG9CrqrB4KV2nqBC9JlZ -----END PRIVATE KEY-----`) // IntermediateCertificate is a PEM-encoded intermediate certificate that is // signed by RootCertificate IntermediateCertificate = []byte(`-----BEGIN CERTIFICATE----- MIIB7jCCAaCgAwIBAgICEAAwBQYDK2VwMGwxCzAJBgNVBAYTAk5BMQswCQYDVQQI DAJOQTELMAkGA1UEBwwCTkExCzAJBgNVBAoMAk5BMQswCQYDVQQLDAJOQTEWMBQG A1UEAwwNc3RmZSB0ZXN0ZGF0YTERMA8GCSqGSIb3DQEJARYCTkEwHhcNMjAxMTAz MTgzMjE4WhcNMzIwMTIxMTgzMjE4WjBsMQswCQYDVQQGEwJOQTELMAkGA1UECAwC TkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkGA1UECwwCTkExFjAUBgNV BAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEWAk5BMCowBQYDK2VwAyEA F1yPPpjHKDAKN73pBFGXzAvIjdkLLimydu2y1HLMOiKjZjBkMB0GA1UdDgQWBBQ6 P7JQ7yXtrTh7YkVU0I78P9A+nDAfBgNVHSMEGDAWgBQBvsxROtKU6zmr/SxcfTMD sAQcMTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIChDAFBgMrZXAD QQBm1GMV0ADPnXRWnelCW9tcyTh0p9hKefuSy/MNx7/XLHKnM5fX+yHqD84QOxES Vc510vi4dM8I+e/vcoBsmMQP -----END CERTIFICATE-----`) // IntermediateCertificateSerial is the serial number of IntermediateCertificate IntermediateCertificateSerial = "4096" // IntermediatePrivateKey is the PEM-encoded Ed25519 private key of IntermediateCertificate IntermediatePrivateKey = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIEiZEO5PnjkbN4A+5r9LVTIZeVdPq/on5AzwnetZjszE -----END PRIVATE KEY-----`) // IntermediateChain is a PEM-encoded certificate chain that is composed // of an end-entity certificate and an intermediate certificate IntermediateChain = bytes.Join([][]byte{ EndEntityCertificate, IntermediateCertificate, }, []byte("\n")) // IntermediateCertificate2 is a PEM-encoded intermediate certificate that // is signed by RootCertificate2 IntermediateCertificate2 = []byte(`-----BEGIN CERTIFICATE----- MIIB7jCCAaCgAwIBAgICEAAwBQYDK2VwMGwxCzAJBgNVBAYTAk5BMQswCQYDVQQI DAJOQTELMAkGA1UEBwwCTkExCzAJBgNVBAoMAk5BMQswCQYDVQQLDAJOQTEWMBQG A1UEAwwNc3RmZSB0ZXN0ZGF0YTERMA8GCSqGSIb3DQEJARYCTkEwHhcNMjAxMTI1 MjE1NzU1WhcNMzIwMjEyMjE1NzU1WjBsMQswCQYDVQQGEwJOQTELMAkGA1UECAwC TkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkGA1UECwwCTkExFjAUBgNV BAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEWAk5BMCowBQYDK2VwAyEA DD23ESkuIKaCkU6xCncIwvD12w4ETBgAiHAubr/wDwujZjBkMB0GA1UdDgQWBBSy uua2yvX+VM9JBc19GQisnLnH5zAfBgNVHSMEGDAWgBQeeImH1qUrWk+pq3YOkwI8 bWdEuTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIChDAFBgMrZXAD QQCoQvs8gPHZOH6VIuUGCcXVzf8D5+F6GZSoxMF880yYbdbUBVwwbJLFazwEn0uC PwMBM9nZj3g1ZSH8uP2sEo0F -----END CERTIFICATE-----`) // IntermediateCertificateSerial2 is the serial number of IntermediateCertificate2 IntermediateCertificateSerial2 = "4096" // IntermediatePrivateKey2 is the PEM-encoded Ed25519 private key of IntermediateCertificate2 IntermediatePrivateKey2 = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIOo+qcT2GoWoAp0079ecz/ZyrCZ78Zqznv1xEoN96vT7 -----END PRIVATE KEY-----`) // IntermediateChain2 is a PEM-encoded certificate chain that is composed // of an end-entity certificate and an intermediate certificate IntermediateChain2 = bytes.Join([][]byte{ EndEntityCertificate2, IntermediateCertificate2, }, []byte("\n")) // RootCertificate is a PEM-encoded root certificate RootCertificate = []byte(`-----BEGIN CERTIFICATE----- MIIB/TCCAa+gAwIBAgIUDYJzaC5VSkKwiLVAxO5MyphAkN8wBQYDK2VwMGwxCzAJ BgNVBAYTAk5BMQswCQYDVQQIDAJOQTELMAkGA1UEBwwCTkExCzAJBgNVBAoMAk5B MQswCQYDVQQLDAJOQTEWMBQGA1UEAwwNc3RmZSB0ZXN0ZGF0YTERMA8GCSqGSIb3 DQEJARYCTkEwHhcNMjAxMTAzMTgzMTMxWhcNMzIwMTIxMTgzMTMxWjBsMQswCQYD VQQGEwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTEL MAkGA1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0B CQEWAk5BMCowBQYDK2VwAyEAJ1IiXCB4YHwdWka9MM0bc7LvKAtksmtIo8IhkuEB uzGjYzBhMB0GA1UdDgQWBBQBvsxROtKU6zmr/SxcfTMDsAQcMTAfBgNVHSMEGDAW gBQBvsxROtKU6zmr/SxcfTMDsAQcMTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIChDAFBgMrZXADQQCXh6kDnE5giTjcLET2S94qTwnHVAj57DJcR/rf9Jy8 NMGbtzTL0/V0B8DHuJFA/islbZJbN7rSvqddEKL8N2gI -----END CERTIFICATE-----`) // RootCertificateSerial is the serial number of RootCertificate RootCertificateSerial = "77126030260354546250480693976417574174523953375" // RootPrivateKey is the PEM-encoded Ed25519 private key of RootCertificate RootPrivateKey = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIPJGy4Tf9SwDv44lLCmVyEjsbUmwfTg+j/Xoyaunf1rx -----END PRIVATE KEY-----`) // RootChain is a PEM-encoded certificate chain that contains an end-entity // certificate, an intermediate certificate, and a root certificate. RootChain = bytes.Join([][]byte{ EndEntityCertificate, IntermediateCertificate, RootCertificate, }, []byte("\n")) // RootCertificate2 is a PEM-encoded root certificate RootCertificate2 = []byte(`-----BEGIN CERTIFICATE----- MIIB/TCCAa+gAwIBAgIUCFGFq5zAkH03LQ2fpAamPhGd8FgwBQYDK2VwMGwxCzAJ BgNVBAYTAk5BMQswCQYDVQQIDAJOQTELMAkGA1UEBwwCTkExCzAJBgNVBAoMAk5B MQswCQYDVQQLDAJOQTEWMBQGA1UEAwwNc3RmZSB0ZXN0ZGF0YTERMA8GCSqGSIb3 DQEJARYCTkEwHhcNMjAxMTE3MTgxNTQyWhcNMzIwMjA0MTgxNTQyWjBsMQswCQYD VQQGEwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTEL MAkGA1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0B CQEWAk5BMCowBQYDK2VwAyEAFOG1Lof1UiV2mYsM17EopyVCR87qRrNW9YHP0biu pOyjYzBhMB0GA1UdDgQWBBQeeImH1qUrWk+pq3YOkwI8bWdEuTAfBgNVHSMEGDAW gBQeeImH1qUrWk+pq3YOkwI8bWdEuTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIChDAFBgMrZXADQQDP4IQePN5Krr7jn+RM8AbF+c4fXgamA1XDHVIfXy/n MexxZMsuSCSDq5XM5GMImffmBXA1dNJ6ytfJi668C+kF -----END CERTIFICATE-----`) // RootCertificateSerial2 is the serial number of RootCertificate2 RootCertificateSerial2 = "47489930858344783188475742157087612794308522072" // RootPrivateKey2 is the PEM-encoded Ed25519 private key of RootCertificate2 RootPrivateKey2 = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIKQd3B84w9pB6zJLGljuDyGKfz9uPP6QBeLiFcw0EME4 -----END PRIVATE KEY-----`) // RootChain2 is a PEM-encoded certificate chain that contains an end-entity // certificate, an intermediate certificate, and a root certificate. RootChain2 = bytes.Join([][]byte{ EndEntityCertificate2, IntermediateCertificate2, RootCertificate2, }, []byte("\n")) // TrustAnchors is composed of two PEM-encoded trust anchors, namely, // RootCertificate and RootCertificate2. TrustAnchors = bytes.Join([][]byte{ RootCertificate, RootCertificate2, }, []byte("\n")) // ExpiredCertificate is a PEM-encoded certificate that is always expired, // i.e., `Not Before`=`Not After`. It is signed by IntermediateCertificate. ExpiredCertificate = []byte(` -----BEGIN CERTIFICATE----- MIIBbDCCAR4CFDfeuu6XURfn7AE4WShuwZBHEaLIMAUGAytlcDBsMQswCQYDVQQG EwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkG A1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEW Ak5BMB4XDTIwMTEwMzE4MzI0MFoXDTMyMDEyMTE4MzI0MFowRTELMAkGA1UEBhMC QVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdp dHMgUHR5IEx0ZDAqMAUGAytlcAMhAJvk390ZvwULplBri03Od4LLz+Sf/OUHu+20 wik+T9y5MAUGAytlcANBANekliXq4ttoClBJDZoktIQxyHHNcWyXFrj1HlOaT5bC I3GIqqZ60Ua3jKytnEsKsD2rLMPItDwmG6wYSecy2ws= -----END CERTIFICATE-----`) // ExpiredChain is an expired PEM-encoded certificate chain. It is composed // of two certificates: ExpiredCertificate and IntermediateCertificate. ExpiredChain = bytes.Join([][]byte{ ExpiredCertificate, IntermediateCertificate, }, []byte("\n")) // ChainBadIntermediate is a PEM-encoded certificate chain that contains // an end-entity certificate, an intermediate certificate, and a root // certificate. However, the intermediate does not sign the end-entity. ChainBadIntermediate = bytes.Join([][]byte{ EndEntityCertificate, IntermediateCertificate2, RootCertificate2, }, []byte("\n")) // ChainBadRoot is a PEM-encoded certificate chain that contains an // end-entity certificate, an intermediate certificate, and a root // certificate. However, the root does not sign the intermediate. ChainBadRoot = bytes.Join([][]byte{ EndEntityCertificate, IntermediateCertificate, RootCertificate2, }, []byte("\n")) // TruncatedCertificate is a truncated PEM-encoded certificate TruncatedCertificate = []byte(`-----BEGIN CERTIFICATE----- MIIBbDCCAR4CFDfeuu6XURfn7AE4WShuwZBHEaLIMAUGAytlcDBsMQswCQYDVQQG -----END CERTIFICATE-----`) // NotACertificate is a PEM-encoded certificate block that contains an // Ed25519 private key NotACertificate = []byte(`-----BEGIN CERTIFICATE----- MC4CAQAwBQYDK2VwBCIEIH65lXoCT4N9q4mPmDcsmAqIqG9CrqrB4KV2nqBC9JlZ -----END CERTIFICATE-----`) // NotEd25519PrivateKey is a PEM-encoded ECDSA private key NotEd25519PrivateKey = []byte(`-----BEGIN PRIVATE KEY----- MIHcAgEBBEIAtxq7RExTFraqJYhyedPFppJiV05tXb1gxmn+9DGNsfmZ5aD2ZwDo PoIVDYudwj7gDL4MXzJj7LUh6WW0qALm4MugBwYFK4EEACOhgYkDgYYABAAcg0Y3 WTBxfVuw/OPdLf65N6hmBoCGgW8DOhfRXtZNzqkf3u1LnNpWrt/Xva7K6uthvLRr A3djeuCmg8MlHdtFYQDa9QSsc0ZBhp6Lg7JSED8nopQIvKPocsUejqJVDqJ4ZK1E +2qB5BQl9vGLUpZ5HKkWvKvo8jpNbstVyeOFtvLfGg== -----END PRIVATE KEY-----`) // TruncatedEd25519PrivateKey is a a PEM-encoded Ed25519 private key that // has a truncated block TruncatedEd25519PrivateKey = []byte(`-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIH6 -----END PRIVATE KEY-----`) // DoubleEd25519PrivateKey is composed of two PEM-encoded Ed25519 private // keys DoubleEd25519PrivateKey = bytes.Join([][]byte{ EndEntityPrivateKey, EndEntityPrivateKey2, }, []byte("\n")) // Ed25519PrivateKeyBadWhiteSpace is a PEM-encoded Ed25519 private key that // contains unwanted white space Ed25519PrivateKeyBadWhiteSpace = []byte(` -----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIH65lXoCT4N9q4mPmDcsmAqIqG9CrqrB4KV2nqBC9JlZ -----END PRIVATE KEY-----`) // CertificateBadWhiteSpace is a PEM-encoded certificate that contains // unwanted white space CertificateBadWhiteSpace = []byte(` -----BEGIN CERTIFICATE----- MIIBbDCCAR4CFDfeuu6XURfn7AE4WShuwZBHEaLIMAUGAytlcDBsMQswCQYDVQQG EwJOQTELMAkGA1UECAwCTkExCzAJBgNVBAcMAk5BMQswCQYDVQQKDAJOQTELMAkG A1UECwwCTkExFjAUBgNVBAMMDXN0ZmUgdGVzdGRhdGExETAPBgkqhkiG9w0BCQEW Ak5BMB4XDTIwMTEwMzE4MzI0MFoXDTMyMDEyMTE4MzI0MFowRTELMAkGA1UEBhMC QVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdp dHMgUHR5IEx0ZDAqMAUGAytlcAMhAJvk390ZvwULplBri03Od4LLz+Sf/OUHu+20 wik+T9y5MAUGAytlcANBANekliXq4ttoClBJDZoktIQxyHHNcWyXFrj1HlOaT5bC I3GIqqZ60Ua3jKytnEsKsD2rLMPItDwmG6wYSecy2ws= -----END CERTIFICATE-----`) )