snapshot of https://github.com/grpc/grpc-go.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
codecov / upload (push) Failing after 13m59s
CodeQL / Analyze (push) Failing after 1s
Testing / vet-proto (push) Failing after 1s
Testing / tests (arm, latest) (push) Waiting to run
Testing / extras (latest) (push) Failing after 1s
Testing / static checks (latest-1) (push) Failing after 1s
Testing / tests (-race, latest) (push) Failing after 1s
Testing / tests (i386, latest) (push) Failing after 1s
Testing / tests (latest) (push) Failing after 1s
Testing / tests (latest-1) (push) Failing after 1s
Lock Threads / lock (push) Failing after 1s
govulncheck / govulncheck (.) (push) Failing after 1s
govulncheck / govulncheck (./cmd/protoc-gen-go-grpc) (push) Failing after 1s
govulncheck / govulncheck (./gcp/observability) (push) Failing after 1s
govulncheck / govulncheck (./security/advancedtls) (push) Failing after 1s
govulncheck / govulncheck (./stats/opencensus) (push) Failing after 1s
Stale bot / stale (push) Failing after 1s

This commit is contained in:
upstream-mirror
2026-09-15 20:40:15 +05:00
commit e241b33f26
1365 changed files with 339570 additions and 0 deletions

38
testdata/spiffe_end2end/README.md vendored Normal file
View File

@@ -0,0 +1,38 @@
All of the following files in this directory except `server_spiffebundle.json`
and `client_spiffebundle.json` are generated with the `generate.sh` and
`intermediate_gen.sh` script in this directory.
These comprise a root trust certificate authority (CA) that signs two
certificates - `client_spiffe.pem` and `server_spiffe.pem`. These are valid
SPIFFE certificates (via the configuration in `spiffe-openssl.cnf`), and the
`*_spiffebundle.json` files are SPIFFE Bundle Maps for the client and server
respectively.
The SPIFFE trust bundle map files (`*_spiffebundle.json`) are manually created
for end to end testing. The `server_spiffebundle.json` contains the
`foo.bar.com` trust domain (only this entry is used in e2e tests) matching URI
SAN of `client_spiffe.pem`, and the CA certificate is `ca.pem`. The client
`spiffebundle.json` file contains `example.com` trust domain matching the URI
SAN of `server_spiffe.pem`, and the CA certificate there is also `ca.pem`.
`leaf_and_intermediate_chain.pem` is a certificate chain whose leaf is a valid
SPIFFE cert that is signed by an intermediate CA (`intermediate_ca.pem`). The
intermediate CA is signed by the root CA (`ca.pem`). Thus, this setup yields a
valid chain to the root of trust `ca.pem`.
If updating these files, the `x5c` field in the json is the raw PEM CA
certificate and can be copy pasted from the certificate file `ca.pem`. `n` and
`e` are values from the public key attached to this certificate. `e` should
*probably* be `AQAB` as it is the exponent. `n` can be fetched from the
certificate by getting the RSA key from the cert and extracting the value. This
can be done in golang with the following codeblock:
```
func GetBase64ModulusFromPublicKey(key *rsa.PublicKey) string {
return base64.RawURLEncoding.EncodeToString(key.N.Bytes())
}
block, _ := pem.Decode(rawPemCert) cert, _ := x509.ParseCertificate(block.Bytes)
publicKey := cert.PublicKey.(*rsa.PublicKey)
fmt.Println(GetBase64ModulusFromPublicKey(publicKey))
```

52
testdata/spiffe_end2end/ca.key vendored Normal file
View File

@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
vmWw2Uw4DH8zFu1I9deCqW6ilOly7w==
-----END PRIVATE KEY-----

32
testdata/spiffe_end2end/ca.pem vendored Normal file
View File

@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFlTCCA32gAwIBAgIUZ4e1KRtWw0c8V5NnA9VEoUMvzq4wDQYJKoZIhvcNAQEL
BQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5l
dCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAe
Fw0yNjAzMDkwNTI4MjBaFw0zNjAzMDYwNTI4MjBaMFoxCzAJBgNVBAYTAlVTMQsw
CQYDVQQIDAJWQTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRsw
GQYDVQQDDBJmb28uYmFyLmhvby5jYS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDZRezL1GWM/0umgcLNGI9fsp0sabLUN1rUTwXjCGHvGAt9cPY1
xK6P6+/QXeBkYogmwC3Udhwl+8x3AOu2FKP9QeveW+hB4N3SCtY4D+nGxPWnL1Yj
h0170tkVRPkh89wPX4XdtAcIgZjjNgPH9wR3eWH8E3cDRvxjosy4e9aw0/VTHb0l
Z2Ko6mY8x2bJNFUExmuh157b//yHdcL8O1K1h13o6YSqSlnLmnaSHpHA5/21erSj
szE3ZjiPZFR6cl/RDjpJRKrh/eQAAeg7XO00VokrvZnK07mZ2nNyp4z1yCV4fwWC
dBMfFfUSm0EgN8D65JxGj1He5bm4LVv6WuWj+cqgAzRhHjp8iZsmLFKvAoXSg1eJ
+mG8vw5P9ZVd38M8N2DtifvmCkE1fln84oQj42wDgNQuwSafbGQIhNYrnsgbf+2l
Nj5IIYm/ScUcexbmCmKyOZfNcVQNAF26vQOvibBDOFyDW2qdi2tIGJgTPhkJPbDq
KJx4UqNxIuoam28PifmK51Cn4i9rWOpQ2nM7JGX1Q3IE6S5iaVnogp2+SSh3Phkt
xQOK9IUX7ysX9eVQAdN8lnKgaIZuyYOx9H9jWValZ/dCLa2Y/BuFslx4NRVLtoJk
UIakdTepo83ZrrSs3c4DSEIJJkgVPBmBkua3RdYB1Cw+A8T0C8nvExyJbwIDAQAB
o1MwUTAdBgNVHQ4EFgQU/LjtA3oVWCTz3qfAQXuc/dC7b84wHwYDVR0jBBgwFoAU
/LjtA3oVWCTz3qfAQXuc/dC7b84wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAgEAZFJDbhKL1M16Ya7eAvrgUWI9vbC4xm/68HzIGuQLeP9yr7QMfk5w
zh9umYcGWs/hkz2jg/88PbPUEP35psTw+dZGtnQwi/0icM9w7m0HZrDx8vMYvX5A
oEaPb5PqbjwhBxzd2Hpv/Y+PLLRO9uh1Xeh95J4yp5t/xOPyimljKLTam+rpj7Be
vYftlSXuIWrR6sldIt9I1zT5CfcBSefmSVo2WtgLdqfOBIAD73OMbcxEPDiTF4/q
8S1qHeA8eNUXc5IrWEI2NirhpvR0ZXMyjY1gJoZ4XqPFSXg+1oi9qpbjMhKU5J+R
m8brv/HmACaP90hSPXjuRl2Tp/NJ6idV1heNd4MdTeAlH+deQ+UQ/rFo6HY95S3l
tdcaDX8V7WdpRUQddv2DS5VPPi60LJuOdxKB+XFtjdLUtxwOw3Hoj91YWZLuMu2x
zVeASeA6FsB0vZwQdqn8FX1BQNSIEHGs7tieV7N0AlLavQBpyRYfhgKOL9Utbl4C
p6C6k42uFo/tFREUdzgtt0JqT+/NMJRA6rOJYHVUWNeG2ggGpuCtHXkwktC4JBnU
wnvdVZX3sXPslmiFzMO6S/+PesHA0TclifTZNOETHphF8efGsRFL/lkhcBRkZKBV
OkWKdKMUnXPgDKLyu/e1WQXCXmyTjv8FEiG2Ni8U4P0c2PldooYVjw4=
-----END CERTIFICATE-----

28
testdata/spiffe_end2end/client.key vendored Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCeb12R71ES72b6
ag0gDK+8Hf6DPc2szn1Iwa6L7qoqBfFXxZImPhqVIuBTISxIlweib+lVOKtJDFym
a/ILGiWwKy19H+9dwf/R5keufOjs+dkSt2kwNNAgednGiMiuBi6186QSCxhp1+lF
q4UnBTZDsVjm232NPF3w7xUMLzB7XesY7A7cSLFBOdB/ObDB+UYMR6BpyN7C8gH3
Y2t9wYHpw8NpMNsGshGSG5Ti8R48j7ZS4lZslW6qPzquYMrdNQx8XhsHOr3q9LDw
SIfR7j4M0A5FRQQlWpslmAUlxDqmrXQ6FdAMSyU8Qa9VVHzO0PrrEXOFijQdguL0
QT0WWd9JAgMBAAECggEANHlaGl2TEpxsFQBO/JB3G+0rQLiViGiToidT8lDH10dE
mfd74mKrVz3H4oCYNCqhgrFiLLGqOXV4sj4KWpb8aI7EcC7Fjt4UJqcIksgYNXTC
6qoIksjLLhZthI4FOW4exnC9pKQ8H8I9JrAaV8QoJt90PHHx8XdO/d+RrwlqG1GI
a1iIPLEEx54hMkpUDojmzTSaWihZTeBnl55fy0bXcCK1WA6lp9UODhP1HXgf5HyT
hopVGwIzP2xr4hTsKujwGp0rIF+42ty9llGKP8mZQ4kDaf2gHDflORjvXE0GS7Sd
6dLv/uOBvRVqiG/FnUKCFsPQab1I8iIJSCUw9wxuKQKBgQDRipuRFCkPa/pBWa9j
xLg1r7zbb2fLX4HMC5+DeQYnrURDDGUglAgUUcgLeALTKpDbZdpPoDm62nCWNPbM
CMreMuz6yxPpV6Gc+8aIVg25ExxyuBBc8x8raVVRUaQQJblur6LnPHTP6fme5D9Q
fCPQAmop/8RIozNuYNULvlt7wwKBgQDBkABkPsGR1TbGXG9b9RriAomYY0pFxQZs
yUey+SqPrNJ3Y9lFbCU2yuG8BUaXKGYHWji9Zn10Jv393d2Y1mIUA+O+KWOmMdce
NBBkSHsOJkeQSc16bZpcZ7gwSaLiJp/LJ8tFoerY72kpoqk14zLHBb0RjbnPpp7b
+7kTjKAkAwKBgQCAYmZye2G0+zl3tNWLUUp0SlpyME3uA3Rpam2vhgVJZhW+5udH
EKvqlzj0HfHNI/VhF4Ss6MS2QYRd49GarYBup9Ee0DJA89onbvPzMJZz4Mu7Vh9g
c+2TEZSeoGDfK93zfVVYTGhdw0OYIMzSKV1f4zrcxMKkpqmqZVXjPhybNQKBgEdo
ytww0tTsZiLUIzk3uc07xmtz5gjLYU1tDIiYp/0NczAcpCGafjgyrQjioWJOwyVf
QaOOViYt5HJuEby7Cr/7l1+mgV7k8EnyR0HYA536vVgcAjRyjwocMbWO1Qq92SHn
8nQkAjI6UP/NRMPep/MIyPHa6XwUKnNZ8LOno8TlAoGAYGlDV2mbgTLKbIyXfKhe
EX+NP1OvhKrk+GJhkeTXwnu0Vz11KwLdRSSt2olLiMgl7phKinWlspWiNU0RGf3i
BZkmGzRHiSn/ykKY792ujN7iodjjuR2644e1FdDGCOJVH9erh+H7lwI6v2om32Rf
W4GdaqQ/t7TaabJqPPtLBFs=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE-----
MIIEvjCCAqagAwIBAgIUCzY7jU+NrvxZf0WMdg/5AM5i8XUwDQYJKoZIhvcNAQEL
BQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5l
dCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAe
Fw0yNjAzMDkwNTI4MjBaFw0zNjAzMDYwNTI4MjBaMEwxCzAJBgNVBAYTAlVTMQsw
CQYDVQQIDAJDQTEMMAoGA1UEBwwDU1ZMMQ0wCwYDVQQKDARnUlBDMRMwEQYDVQQD
DAp0ZXN0Y2xpZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnm9d
ke9REu9m+moNIAyvvB3+gz3NrM59SMGui+6qKgXxV8WSJj4alSLgUyEsSJcHom/p
VTirSQxcpmvyCxolsCstfR/vXcH/0eZHrnzo7PnZErdpMDTQIHnZxojIrgYutfOk
EgsYadfpRauFJwU2Q7FY5tt9jTxd8O8VDC8we13rGOwO3EixQTnQfzmwwflGDEeg
acjewvIB92NrfcGB6cPDaTDbBrIRkhuU4vEePI+2UuJWbJVuqj86rmDK3TUMfF4b
Bzq96vSw8EiH0e4+DNAORUUEJVqbJZgFJcQ6pq10OhXQDEslPEGvVVR8ztD66xFz
hYo0HYLi9EE9FlnfSQIDAQABo4GJMIGGMEQGA1UdEQQ9MDuGOXNwaWZmZTovL2Zv
by5iYXIuY29tLzllZWJjY2QyLTEyYmYtNDBhNi1iMjYyLTY1ZmUwNDg3ZDQ1MzAd
BgNVHQ4EFgQUWhXxI5pA878mNWlbVFscM7rPD30wHwYDVR0jBBgwFoAU/LjtA3oV
WCTz3qfAQXuc/dC7b84wDQYJKoZIhvcNAQELBQADggIBAMqDRhSCS+cSozh7oeqQ
RJehfP/3pX8grzezk/PmohG8NiPx0Zwy9Huqf9BV5VG1iRwF1DJmbj2VV59jTuLa
B6LNWVDwmToI3nVCedM4pTLGEKIvtKEMZQserR/FrN9WEHG3nU2SnS1jqTRVu+lv
69sOtkenXs51X6YzyRvY/MD+b78JuyuFu9/33Tzn+mJ82CBWuGspKveWanwKsYZp
N5XXPNLF6YWO8MfcX9ephjQXguPxmavoWno/QDmPuZzAwX6T9MqvNKk6aK8hdQfU
Gw5E9nQ+oyZyQXZw7FwsEsj+MOhPp3wR4Ubwth2PXfXWs6icvDr0Cq2O/x5eCQ9w
F1fy8ORBFLSqwmqCuTjt0rF2dqMUDiV7EVRzg8ACWB4gCoSAZhT1/uIkO452Tasa
zF5c29bWo1TCe8lJ2QkFBxZyVTPwJU1uIMhWUHrykqaO6oueZZFp+qLK9HevTqjd
5Cp4OzdemWyhQhk8u30sNUM0u+Elk125BnGkuBr6DH3AbKP5JK1gtyWGt/6CfDR/
iBG18B7aQEEb46vmLd4EsgLnwssOir1+t/IBFQ0cXsuqQekuez1GqA9+IQfcg028
lrjLvMejJjfofvIUmQ5R5IgZX1xThb2kM05CifJANceu2sORxieefVC6izDc3gOB
2cRdNb9kp9E89P7FnBkku+9Y
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
{
"trust_domains": {
"example.com": {
"spiffe_sequence": 12035488,
"keys": [
{
"kty": "RSA",
"use": "x509-svid",
"x5c": ["MIIFlTCCA32gAwIBAgIUZ4e1KRtWw0c8V5NnA9VEoUMvzq4wDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAeFw0yNjAzMDkwNTI4MjBaFw0zNjAzMDYwNTI4MjBaMFoxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJWQTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRswGQYDVQQDDBJmb28uYmFyLmhvby5jYS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDZRezL1GWM/0umgcLNGI9fsp0sabLUN1rUTwXjCGHvGAt9cPY1xK6P6+/QXeBkYogmwC3Udhwl+8x3AOu2FKP9QeveW+hB4N3SCtY4D+nGxPWnL1Yjh0170tkVRPkh89wPX4XdtAcIgZjjNgPH9wR3eWH8E3cDRvxjosy4e9aw0/VTHb0lZ2Ko6mY8x2bJNFUExmuh157b//yHdcL8O1K1h13o6YSqSlnLmnaSHpHA5/21erSjszE3ZjiPZFR6cl/RDjpJRKrh/eQAAeg7XO00VokrvZnK07mZ2nNyp4z1yCV4fwWCdBMfFfUSm0EgN8D65JxGj1He5bm4LVv6WuWj+cqgAzRhHjp8iZsmLFKvAoXSg1eJ+mG8vw5P9ZVd38M8N2DtifvmCkE1fln84oQj42wDgNQuwSafbGQIhNYrnsgbf+2lNj5IIYm/ScUcexbmCmKyOZfNcVQNAF26vQOvibBDOFyDW2qdi2tIGJgTPhkJPbDqKJx4UqNxIuoam28PifmK51Cn4i9rWOpQ2nM7JGX1Q3IE6S5iaVnogp2+SSh3PhktxQOK9IUX7ysX9eVQAdN8lnKgaIZuyYOx9H9jWValZ/dCLa2Y/BuFslx4NRVLtoJkUIakdTepo83ZrrSs3c4DSEIJJkgVPBmBkua3RdYB1Cw+A8T0C8nvExyJbwIDAQABo1MwUTAdBgNVHQ4EFgQU/LjtA3oVWCTz3qfAQXuc/dC7b84wHwYDVR0jBBgwFoAU/LjtA3oVWCTz3qfAQXuc/dC7b84wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAZFJDbhKL1M16Ya7eAvrgUWI9vbC4xm/68HzIGuQLeP9yr7QMfk5wzh9umYcGWs/hkz2jg/88PbPUEP35psTw+dZGtnQwi/0icM9w7m0HZrDx8vMYvX5AoEaPb5PqbjwhBxzd2Hpv/Y+PLLRO9uh1Xeh95J4yp5t/xOPyimljKLTam+rpj7BevYftlSXuIWrR6sldIt9I1zT5CfcBSefmSVo2WtgLdqfOBIAD73OMbcxEPDiTF4/q8S1qHeA8eNUXc5IrWEI2NirhpvR0ZXMyjY1gJoZ4XqPFSXg+1oi9qpbjMhKU5J+Rm8brv/HmACaP90hSPXjuRl2Tp/NJ6idV1heNd4MdTeAlH+deQ+UQ/rFo6HY95S3ltdcaDX8V7WdpRUQddv2DS5VPPi60LJuOdxKB+XFtjdLUtxwOw3Hoj91YWZLuMu2xzVeASeA6FsB0vZwQdqn8FX1BQNSIEHGs7tieV7N0AlLavQBpyRYfhgKOL9Utbl4Cp6C6k42uFo/tFREUdzgtt0JqT+/NMJRA6rOJYHVUWNeG2ggGpuCtHXkwktC4JBnUwnvdVZX3sXPslmiFzMO6S/+PesHA0TclifTZNOETHphF8efGsRFL/lkhcBRkZKBVOkWKdKMUnXPgDKLyu/e1WQXCXmyTjv8FEiG2Ni8U4P0c2PldooYVjw4="],
"n": "2UXsy9RljP9LpoHCzRiPX7KdLGmy1Dda1E8F4whh7xgLfXD2NcSuj-vv0F3gZGKIJsAt1HYcJfvMdwDrthSj_UHr3lvoQeDd0grWOA_pxsT1py9WI4dNe9LZFUT5IfPcD1-F3bQHCIGY4zYDx_cEd3lh_BN3A0b8Y6LMuHvWsNP1Ux29JWdiqOpmPMdmyTRVBMZrodee2__8h3XC_DtStYdd6OmEqkpZy5p2kh6RwOf9tXq0o7MxN2Y4j2RUenJf0Q46SUSq4f3kAAHoO1ztNFaJK72ZytO5mdpzcqeM9cgleH8FgnQTHxX1EptBIDfA-uScRo9R3uW5uC1b-lrlo_nKoAM0YR46fImbJixSrwKF0oNXifphvL8OT_WVXd_DPDdg7Yn75gpBNX5Z_OKEI-NsA4DULsEmn2xkCITWK57IG3_tpTY-SCGJv0nFHHsW5gpisjmXzXFUDQBdur0Dr4mwQzhcg1tqnYtrSBiYEz4ZCT2w6iiceFKjcSLqGptvD4n5iudQp-Iva1jqUNpzOyRl9UNyBOkuYmlZ6IKdvkkodz4ZLcUDivSFF-8rF_XlUAHTfJZyoGiGbsmDsfR_Y1lWpWf3Qi2tmPwbhbJceDUVS7aCZFCGpHU3qaPN2a60rN3OA0hCCSZIFTwZgZLmt0XWAdQsPgPE9AvJ7xMciW8",
"e": "AQAB"
}
]
}
}
}

30
testdata/spiffe_end2end/generate.sh vendored Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# Generate client/server self signed CAs and certs.
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.pem -days 3650 -nodes -subj "/C=US/ST=VA/O=Internet Widgits Pty Ltd/CN=foo.bar.hoo.ca.com"
# The SPIFFE related extensions are listed in spiffe-openssl.cnf config. Both
# client_spiffe.pem and server_spiffe.pem are generated in the same way with
# original client.pem and server.pem but with using that config. Here are the
# exact commands (we pass "-subj" as argument in this case):
openssl genrsa -out client.key.rsa 2048
openssl pkcs8 -topk8 -in client.key.rsa -out client.key -nocrypt
openssl req -new -key client.key -out spiffe-cert.csr \
-subj /C=US/ST=CA/L=SVL/O=gRPC/CN=testclient/ \
-config spiffe-openssl.cnf -reqexts spiffe_client_e2e
openssl x509 -req -CA ca.pem -CAkey ca.key -CAcreateserial \
-in spiffe-cert.csr -out client_spiffe.pem -extensions spiffe_client_e2e \
-extfile spiffe-openssl.cnf -days 3650 -sha256
openssl genrsa -out server.key.rsa 2048
openssl pkcs8 -topk8 -in server.key.rsa -out server.key -nocrypt
openssl req -new -key server.key -out spiffe-cert.csr \
-subj "/C=US/ST=CA/L=SVL/O=gRPC/CN=*.test.google.com/" \
-config spiffe-openssl.cnf -reqexts spiffe_server_e2e
openssl x509 -req -CA ca.pem -CAkey ca.key -CAcreateserial \
-in spiffe-cert.csr -out server_spiffe.pem -extensions spiffe_server_e2e \
-extfile spiffe-openssl.cnf -days 3650 -sha256
rm *.rsa
rm *.csr
rm *.srl

View File

@@ -0,0 +1,38 @@
[ca]
default_ca = CA_intermediate
[CA_intermediate]
dir = .
certs = $dir/certs
crl_dir = $dir/crl
new_certs_dir = $dir/newcerts
database = $dir/index.txt
serial = $dir/serial
RANDFILE = $dir/private/.rand
private_key = $dir/intermediate_ca.key
certificate = $dir/intermediate_ca.pem
crl = $dir/intermediate.crl
# For certificate revocation lists.
crlnumber = $dir/crlnumber
crl = $dir/crl/intermediate.crl
crl_extensions = crl_ext
default_crl_days = 3650
default_md = sha256
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = intermediatecert.example.com
[crl_ext]
authorityKeyIdentifier=keyid:always
[v3_req]
keyUsage = critical, digitalSignature, keyEncipherment, keyCertSign, cRLSign
extendedKeyUsage = clientAuth, serverAuth
basicConstraints = critical, CA:true

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDnXje+M6pAPFnr
Ve2XjBMSslqLQc/PBLMGplOloIwgoqcw3UnC8LfZjoYXT7dfjA0IOxIg4mj+XGiQ
voNMaudWEjTwf0goRE6kBUCVy+mxVq1XHR9Oooc49fGQZgx+YkIMGAZPgg6T4THd
tQezPg4cEjx6b4C4x+pmWs0ZvoYPi0MvZCDSt4sN20sw9/mYH4wfZyEVBWpqJKUN
jjwc5lzcweA0QkuO8LAZVQy9pwXeVhLEyCCtaDrnT4wRsiL2hRZ0s+RFHKIG6I88
uv8ZAWzthladh19a5/C74vACtpU/UyNipJrTpyOPePmhESAP3ut2arMryAvaDi4Q
Lb2oQtG7AgMBAAECggEAV5qKk7d/QrQ3Pc661/NfM2iZtPm1xAZc/OsUZ/WaqS69
DFj1eVzo1/TJm+EApyphstie/BmONKVrqEaic1hVAHeDWP5wpWJ7vkoI0s8zTITr
vDzYIk+S0MP687hYCbCNnoOoPAmcGG0fkvldEYaxE/rpsFgwzoZPn/LIjvNfUlmp
yRIj5qTPl0XyDJE7cDgc7sjohAeKH3IQYZ9llgRlXIX8I8cPo6WOus7RmBx8xAyR
Z3bsdxeTV6jjJUiAQi8vPb5GM23ghKmZnoRmYgwzetTwktIlWiFRKPQ+EZ9EVFlV
SWitTH3af1q2xn736o/xTmCta5mnZw4+wgGfIQWXfQKBgQDz7KtGn+YOru2qcA89
REIE/4VMzT32DobSCRLBBdnKnArYO0gVXsvdne7SPeIC64oQxUw/rpF4wwSpdfnU
FEgmKlTTQ40tHFstpjqNiPd1eHTu7aG0uBn7NY86hBKfF4R26aar7KxI+2cNv5kK
nBFpUMQnMZ0Yup+7/R9lamUzLwKBgQDy0mq5tB+tfK5H8DEu/cs5hkaJSO3Iug1h
AJMdJ1GIlPTSB5/z+r5MMA/ufMwteQ2TOpbU44p32ZFAT83alAYSInt1STfj7/ZK
3U8loiYVh5o9Uxzs5CHgRRNpLJwxlTEnctQCgIEJP5H0HxpP+6RomutAfkqCC8wp
vhXEHCoXNQKBgAPBZA2tToxxUwVpvkJSN7X9/R5mloqgRKEdNKW2IllFN8GGgCCc
GgVqdg/UlhM3byO89eSRGnpCfmLhhxwlx8qWokGya40DP8AfLA2byzuKxDodfHzc
zMGaXH8pI2RBp29xP3isJybkf/ytM3z/VCFL9gkocWO9E9KAHiigj7hPAoGAbrsh
zDml0HlxCIEyDJnT2RGwjN5jAQxHGZsnez344m37DuRHPv1zVk78lOb4PSxc0mz/
Z2m0NV9T653449powlBTOHMBN8Kv8AfoFeNRtrO11I1YPXbzM9CMP4QGXl4IolKs
988eCNeieU7NsvewS7uJ2Ek/NPqoScjTKDEnyJkCgYAXX/BzB0FtxW9Rbm3YAQrY
kFh/R5aHpkuz18U3u961A62HSfSR19ZfQUqmguea1jfZvsidd3+OeepW6qeqCUFt
PchZKTjdYpNRyyZ3HeMof4ciitns119tsnTcpGwknGgiiQUjeGd9dTPqwvOhkc0K
Hwb1z80PO5jU95PTWdkPYQ==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEkzCCAnugAwIBAgIUScL7tRZAHT2l5ZGw+YblRNRRuO4wDQYJKoZIhvcNAQEL
BQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5l
dCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAe
Fw0yNjAzMDkwNTI4MzdaFw0zNjAzMDYwNTI4MzdaMCcxJTAjBgNVBAMMHGludGVy
bWVkaWF0ZWNlcnQuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDnXje+M6pAPFnrVe2XjBMSslqLQc/PBLMGplOloIwgoqcw3UnC8LfZ
joYXT7dfjA0IOxIg4mj+XGiQvoNMaudWEjTwf0goRE6kBUCVy+mxVq1XHR9Oooc4
9fGQZgx+YkIMGAZPgg6T4THdtQezPg4cEjx6b4C4x+pmWs0ZvoYPi0MvZCDSt4sN
20sw9/mYH4wfZyEVBWpqJKUNjjwc5lzcweA0QkuO8LAZVQy9pwXeVhLEyCCtaDrn
T4wRsiL2hRZ0s+RFHKIG6I88uv8ZAWzthladh19a5/C74vACtpU/UyNipJrTpyOP
ePmhESAP3ut2arMryAvaDi4QLb2oQtG7AgMBAAGjgYMwgYAwDgYDVR0PAQH/BAQD
AgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD
AQH/MB0GA1UdDgQWBBROacRArm/eG2joV3rxYZUe/WpdpDAfBgNVHSMEGDAWgBT8
uO0DehVYJPPep8BBe5z90LtvzjANBgkqhkiG9w0BAQsFAAOCAgEAcGPtuw1yoTGp
nOe1GxBmokrKQ+K2WTeSoAjAx1kkCTk+VCCzgZWFDZRCdIY94U2I2jviJbKttZmE
TIRd3uHXhVQKH93paQxdo1xfhL4akSg9CCdeiqkUBZ0JCZKovm0UdSnz0VBEPRZ5
jZ5WGxD/VnSTt6Hw4u6OjwV6GrZ8ld8ftqbfy34zWOnK2zdpE1gKUrpsWGOHUhd/
e1wZklsJ/Vyu2L4y2hCWvmAG1NBJgE6AhQMpM9McbcKs4012VZczfV0xUIo1wD7c
ccvhlz7KSIppAnXrvCrahCpv/vmpWnSExTuYmohW+LCvFSO89eSryfIQ+xHEb7Ck
PPiwja7lWGr7KCFX7E98LMl6HX1P76snNXOyxM6++r2/KzGnb0xV84g8VGbdgzhN
RUPRdoV89i0OwfNZlLMklNr0ilNTEYiWEjnD2bz1sHG6Ck5RK6tZfFew8JX+KA30
WNs7s3YgKNS3s0/JJ3b7YrvByBQQnFGtVMNEk27RfGLd7dzNvlFtofX/d0GYyg9Y
b5pQrVd78mUCDg7MWZCW6unk8BrJXF+d6nw0V3FgY03eGr3wOAGkSzJUdJdqtycx
04JeL1n3Sl8r6mJJMJLzn1YAqDgM4Gt9W9corJFPCm2XnfUGjC/rDM7ACQYic8II
J9QTW19kU+UwDdBp1lX+hb8AbA4otBM=
-----END CERTIFICATE-----

55
testdata/spiffe_end2end/intermediate_gen.sh vendored Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
# Copyright 2025 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
# Meant to be run from testdata/spiffe_end2end/
# Sets up an intermediate ca, generates certificates, then copies then up and deletes unnecessary files
rm -rf intermediate_ca
mkdir intermediate_ca
cp intermediate.cnf intermediate_ca/
cp spiffe-openssl.cnf intermediate_ca/
pushd intermediate_ca
# Generating the intermediate CA
openssl genrsa -out temp.rsa 2048
openssl pkcs8 -topk8 -in temp.rsa -out intermediate_ca.key -nocrypt
rm temp.rsa
openssl req -key intermediate_ca.key -new -out temp.csr -config intermediate.cnf
openssl x509 -req -days 3650 -in temp.csr -CA "../ca.pem" -CAkey "../ca.key" -CAcreateserial -out intermediate_ca.pem -extfile intermediate.cnf -extensions 'v3_req'
# Generating the leaf and chain
openssl genrsa -out temp.rsa 2048
openssl pkcs8 -topk8 -in temp.rsa -out leaf_signed_by_intermediate.key -nocrypt
openssl req -new -key leaf_signed_by_intermediate.key -out spiffe-cert.csr \
-subj /C=US/ST=CA/L=SVL/O=gRPC/CN=testserver/ \
-config spiffe-openssl.cnf -reqexts spiffe_server_e2e
openssl x509 -req -CA intermediate_ca.pem -CAkey intermediate_ca.key -CAcreateserial \
-in spiffe-cert.csr -out leaf_signed_by_intermediate.pem -extensions spiffe_server_e2e \
-extfile spiffe-openssl.cnf -days 3650 -sha256
cat leaf_signed_by_intermediate.pem intermediate_ca.pem > leaf_and_intermediate_chain.pem
popd
# Copy files up to the higher directory
cp "./intermediate_ca/leaf_signed_by_intermediate.key" ./
cp "./intermediate_ca/leaf_signed_by_intermediate.pem" ./
cp "./intermediate_ca/leaf_and_intermediate_chain.pem" ./
cp "./intermediate_ca/intermediate_ca.key" ./
cp "./intermediate_ca/intermediate_ca.pem" ./
rm ca.srl
rm -rf intermediate_ca

View File

@@ -0,0 +1,50 @@
-----BEGIN CERTIFICATE-----
MIIDvjCCAqagAwIBAgIUSWu6PDuiG6sb3Xq6vlh6VJJaM8EwDQYJKoZIhvcNAQEL
BQAwJzElMCMGA1UEAwwcaW50ZXJtZWRpYXRlY2VydC5leGFtcGxlLmNvbTAeFw0y
NjAzMDkwNTI4MzdaFw0zNjAzMDYwNTI4MzdaMEwxCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU1ZMMQ0wCwYDVQQKDARnUlBDMRMwEQYDVQQDDAp0
ZXN0c2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn0RCm1Zy
1skITm0HxKRPj0c4eI98kUay30ZsdgWR0BWv76+LoleJ8CYn5t7m1E2fvhTH7yye
hiZLSMC3I9/653/wjhOSK3dnow43ErGgStGr22TdQPIiUAj9UNuQ9LhWJtTUwQXm
ial5SZzMS+OfQhjiK6lxUFh6sDk8KTRqDVVF65RLYMhGyhSOn+aI8SXGoWu+3y/G
UrOOLo8MlBN1YrK9Sgu4JZzYgdUAxs6PR8WSssoBykdq7Ak9Kr3/P1k0aF+eLEN+
pjUgwC8z+Lx0xJcXZMKAHsGIFoFWP3hCEmtHWW7OzZ/FOeZARJ4EDg3u+cQr+Dqn
11/Vi9ruZH12mwIDAQABo4G8MIG5MHcGA1UdEQRwMG6CECoudGVzdC5nb29nbGUu
ZnKCGHdhdGVyem9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29t
hwTAqAEDhiZzcGlmZmU6Ly9leGFtcGxlLmNvbS93b3JrbG9hZC85ZWViY2NkMjAd
BgNVHQ4EFgQUXaDeLUuKpyHPOFRSzjDft8OqIRIwHwYDVR0jBBgwFoAUTmnEQK5v
3hto6Fd68WGVHv1qXaQwDQYJKoZIhvcNAQELBQADggEBABjU2ZTLcaMSM6uwbw48
WrTMwxhCKhOWtirGxJkKzr/g6E5j7VMayWYWuDLDn+snWNOPuCEEFLOY15FYxvX8
iVQ0uBYBNvbKmcLggm3eu3JleMGvHh4RnwJ7MprYB2UEHqGkD2p9CNm67eO4uqCh
FpNj0kwrlL2nzO8jgJVnV8gn60UJ5OUA5q09HaDg0Eh6QNTVHL5V5WJPp2aGgTK8
Ku/gIjjAanWlpk9A5jsHz5UD0I97+E3jn+ZJGHBEM9u6pQUyhwL/K9VirLqCLd/x
UjCphAIfz1JN/+ZypSTyk+MDKU37hjbnk/uxh6ltv+Q3SnyRKM23FlDwG74jHLYJ
nVI=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEkzCCAnugAwIBAgIUScL7tRZAHT2l5ZGw+YblRNRRuO4wDQYJKoZIhvcNAQEL
BQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5l
dCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAe
Fw0yNjAzMDkwNTI4MzdaFw0zNjAzMDYwNTI4MzdaMCcxJTAjBgNVBAMMHGludGVy
bWVkaWF0ZWNlcnQuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDnXje+M6pAPFnrVe2XjBMSslqLQc/PBLMGplOloIwgoqcw3UnC8LfZ
joYXT7dfjA0IOxIg4mj+XGiQvoNMaudWEjTwf0goRE6kBUCVy+mxVq1XHR9Oooc4
9fGQZgx+YkIMGAZPgg6T4THdtQezPg4cEjx6b4C4x+pmWs0ZvoYPi0MvZCDSt4sN
20sw9/mYH4wfZyEVBWpqJKUNjjwc5lzcweA0QkuO8LAZVQy9pwXeVhLEyCCtaDrn
T4wRsiL2hRZ0s+RFHKIG6I88uv8ZAWzthladh19a5/C74vACtpU/UyNipJrTpyOP
ePmhESAP3ut2arMryAvaDi4QLb2oQtG7AgMBAAGjgYMwgYAwDgYDVR0PAQH/BAQD
AgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD
AQH/MB0GA1UdDgQWBBROacRArm/eG2joV3rxYZUe/WpdpDAfBgNVHSMEGDAWgBT8
uO0DehVYJPPep8BBe5z90LtvzjANBgkqhkiG9w0BAQsFAAOCAgEAcGPtuw1yoTGp
nOe1GxBmokrKQ+K2WTeSoAjAx1kkCTk+VCCzgZWFDZRCdIY94U2I2jviJbKttZmE
TIRd3uHXhVQKH93paQxdo1xfhL4akSg9CCdeiqkUBZ0JCZKovm0UdSnz0VBEPRZ5
jZ5WGxD/VnSTt6Hw4u6OjwV6GrZ8ld8ftqbfy34zWOnK2zdpE1gKUrpsWGOHUhd/
e1wZklsJ/Vyu2L4y2hCWvmAG1NBJgE6AhQMpM9McbcKs4012VZczfV0xUIo1wD7c
ccvhlz7KSIppAnXrvCrahCpv/vmpWnSExTuYmohW+LCvFSO89eSryfIQ+xHEb7Ck
PPiwja7lWGr7KCFX7E98LMl6HX1P76snNXOyxM6++r2/KzGnb0xV84g8VGbdgzhN
RUPRdoV89i0OwfNZlLMklNr0ilNTEYiWEjnD2bz1sHG6Ck5RK6tZfFew8JX+KA30
WNs7s3YgKNS3s0/JJ3b7YrvByBQQnFGtVMNEk27RfGLd7dzNvlFtofX/d0GYyg9Y
b5pQrVd78mUCDg7MWZCW6unk8BrJXF+d6nw0V3FgY03eGr3wOAGkSzJUdJdqtycx
04JeL1n3Sl8r6mJJMJLzn1YAqDgM4Gt9W9corJFPCm2XnfUGjC/rDM7ACQYic8II
J9QTW19kU+UwDdBp1lX+hb8AbA4otBM=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfREKbVnLWyQhO
bQfEpE+PRzh4j3yRRrLfRmx2BZHQFa/vr4uiV4nwJifm3ubUTZ++FMfvLJ6GJktI
wLcj3/rnf/COE5Ird2ejDjcSsaBK0avbZN1A8iJQCP1Q25D0uFYm1NTBBeaJqXlJ
nMxL459CGOIrqXFQWHqwOTwpNGoNVUXrlEtgyEbKFI6f5ojxJcaha77fL8ZSs44u
jwyUE3Visr1KC7glnNiB1QDGzo9HxZKyygHKR2rsCT0qvf8/WTRoX54sQ36mNSDA
LzP4vHTElxdkwoAewYgWgVY/eEISa0dZbs7Nn8U55kBEngQODe75xCv4OqfXX9WL
2u5kfXabAgMBAAECgf9AcpewyOJaQLNeJWtBrB9DTRNdfOuMiKcIliruxqeGU58g
cYB3258uoXFxIPq5AUf4MUEoO60ZpUjkkA3XwmKfg+0ymln9iKlBboihvA+cSgyy
11bW1J+4k+qrW89DEf9+05dqEpDiGmZF8ahuFprplgu2qNDcU4ksJRlsBNysdO9q
w8HN25ERWniAzsuXuG+w9AGBFk2eNuumKmQUBJmeqYcJb45YsXhLM4k1rQOJlmYZ
OI+HhHexRn7/iLOsZns+Sm9DXadWy7Gdf+WaU4AR4M9JoBGi4qG9LMP2NDVFvPr0
S+nfsri+4Z08SvcgdG+sHPzsxwojSAeSm8EIIpECgYEAysvpoISbu0j3noNAjA81
+0YyN3XQ/dSkogTtbJFE8Zm0YjpvMYwpO5oJFXnbE2ofAHNUXicpnO2gw0lna8Bp
RmYfdjI8/w//+x9Mw3yBhBQ0YlDK4MC2A90G69/AsJsKqiqHOy6aQg0yeLLIVJn7
bsAjOyUpuhpBzGQcG9bwZvMCgYEAyQzSU2tbxYiKiZcnrP87alPa/43XtUSsTILX
EbmsWL9gMyqz3UOf0QQomUis0njbuQHi8MU+8ecQPG43AjAnpyHuwtgDUUV4EDPb
IhGCE39Or6Jn9cNLkDpSdANCXE1Q+qjdvmaYChYpO/o4xR1036XUBz7qNYWXWj4O
pmk267kCgYEAi923dA4Bmlno7lp32iFjiboQSE/ppCdUpKnhVk+azUbFMjo7FmEk
zwad3UH95pX6a8UfGxDHkoQRrJ6jxZ0e/n7QlCRyDThrxDcCKpFkgkOtHWG7iude
oat/ao8XxrYn1NUgD6FEoumXNceYg0DwOKIrqk8nSENzvhQNjuXfSCECgYAymveV
58AByIyWdWWXNedOrCzDhoB1MAPufkCERagL7p/YQTdkylC/27wcWR6nG6SyvLbS
w9NEMFT14QgXlOdmOjRO9vBe1I2UBnlx6dZD8hdsPgTM54ttkkCO0wMxGIT5kue9
tTUv1MQsRJ9lfjSc1rC34i4xqp6eKGCnonQggQKBgQCBYfAGIrZy3OLbr3EybT7w
lq5LXSnxRkVAXYAY9Ekrha2TjKZvnLWcPvej60wi9swf0756Oyz672XAoPe+cveJ
mVhE3HurAHtUyC/PQhh8foqvO0dEtRrOdpCZIGv0mGflrHDzU8qHWBGuCtwmYsZU
rJEMcQLW2d6IFQkizWc9+A==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDvjCCAqagAwIBAgIUSWu6PDuiG6sb3Xq6vlh6VJJaM8EwDQYJKoZIhvcNAQEL
BQAwJzElMCMGA1UEAwwcaW50ZXJtZWRpYXRlY2VydC5leGFtcGxlLmNvbTAeFw0y
NjAzMDkwNTI4MzdaFw0zNjAzMDYwNTI4MzdaMEwxCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU1ZMMQ0wCwYDVQQKDARnUlBDMRMwEQYDVQQDDAp0
ZXN0c2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn0RCm1Zy
1skITm0HxKRPj0c4eI98kUay30ZsdgWR0BWv76+LoleJ8CYn5t7m1E2fvhTH7yye
hiZLSMC3I9/653/wjhOSK3dnow43ErGgStGr22TdQPIiUAj9UNuQ9LhWJtTUwQXm
ial5SZzMS+OfQhjiK6lxUFh6sDk8KTRqDVVF65RLYMhGyhSOn+aI8SXGoWu+3y/G
UrOOLo8MlBN1YrK9Sgu4JZzYgdUAxs6PR8WSssoBykdq7Ak9Kr3/P1k0aF+eLEN+
pjUgwC8z+Lx0xJcXZMKAHsGIFoFWP3hCEmtHWW7OzZ/FOeZARJ4EDg3u+cQr+Dqn
11/Vi9ruZH12mwIDAQABo4G8MIG5MHcGA1UdEQRwMG6CECoudGVzdC5nb29nbGUu
ZnKCGHdhdGVyem9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29t
hwTAqAEDhiZzcGlmZmU6Ly9leGFtcGxlLmNvbS93b3JrbG9hZC85ZWViY2NkMjAd
BgNVHQ4EFgQUXaDeLUuKpyHPOFRSzjDft8OqIRIwHwYDVR0jBBgwFoAUTmnEQK5v
3hto6Fd68WGVHv1qXaQwDQYJKoZIhvcNAQELBQADggEBABjU2ZTLcaMSM6uwbw48
WrTMwxhCKhOWtirGxJkKzr/g6E5j7VMayWYWuDLDn+snWNOPuCEEFLOY15FYxvX8
iVQ0uBYBNvbKmcLggm3eu3JleMGvHh4RnwJ7MprYB2UEHqGkD2p9CNm67eO4uqCh
FpNj0kwrlL2nzO8jgJVnV8gn60UJ5OUA5q09HaDg0Eh6QNTVHL5V5WJPp2aGgTK8
Ku/gIjjAanWlpk9A5jsHz5UD0I97+E3jn+ZJGHBEM9u6pQUyhwL/K9VirLqCLd/x
UjCphAIfz1JN/+ZypSTyk+MDKU37hjbnk/uxh6ltv+Q3SnyRKM23FlDwG74jHLYJ
nVI=
-----END CERTIFICATE-----

28
testdata/spiffe_end2end/server.key vendored Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC7mwFKwCTD58lp
Pq+aQUpum9+CADQxiiFY2B9zWGCkotIaZhtCA/ZVdy5Wn17T0AosLAeyxWsqg9OV
cEBRgs7xvvZxXM8MUlfOjTNMgfFgI8VNYOK94Skwo/CTdNz1KkWLthkNwdL8vjWH
KQgdqwp3HvuqYL0N+b27MPEQdImY+sqGWqWtHqFbTIPJcyyWPS1Wyw9jh+YwTo/w
jPXW6mcODRNWv8ZZfbtOaQVNQ60t8U9sdJhESZ5XqQrWsTwulKxGw5mXl1K10iTW
mX28k8QS9NsgtZKYyBwIFGcjc+19EiP46xDlXmWcE3YL+huogP7KDXuUoKIo/oRB
xaYJ9mujAgMBAAECggEAEeoBO5QRbquJbgVQW1h0tQ8pTo6abUiVWph4mFkOEWqC
yYaKf8lFEnAo+piJQ4yQDBvAOG/lhc/EunZXjfEBtc/YVIbaNoD+ZXjSNzIJTHbd
9j+UJzGC72QYKtxz5O0+atLenZOug/fdwKRIZBzbCPjqayCFrPn2BhPsUPfv062l
AzP2om5rrT1ZdXLNlEy7BXjMs1qljj1b3VmfWvnrsA5khq0DHYJoJ7rP0f/tKhBR
t4+Gh7/6Wec4Qqoy10rco6Oa3OpIolKFJMYQ3enA2aaTIM7L7E+kVrRm62+OB7mn
pkpkPMYN9IC52FqHSaWc16vftynr+PjbNbkcElk4gQKBgQDsnleyATqTNtX2qDH9
eYv4I05hulbVyI1OgsiWKLHQooGuaHdReUwW/RuofSVo/owJXSIvqnldltyuQ9Da
ZPYbOlpEl4twSRIx5To4w7zuYgpFr8643lPCpij+PLGPryvn2JuJAoNPU4rzEN7y
1vxU2U7Bqoh/X0S9ZYpBwzIyQwKBgQDK+OhJZdBVVeta3Nip9Bli7XXhcZV++7ip
JDxzIMrDqjYzY4sQDtkhpysuos2Mgp90C4HwhpDsfP2whVuypFLj6ChEspot/1DI
rFo2KhEOVOXOfdTnLrtWlitSp38i2E2C5g53T9Jigyq8ssQfZwoqlVP7fOK+79FV
CBJpIC27IQKBgEunTO6zCeFr1PlqSaF7rU8HKtaAV6c+2j9R/YRVOpU0gDYdXJkG
KVfoUWGLsdxiFrAfwQBwhyFvTNvC/xH02eNWwunPclvSYSjm27iujMfDPPmO/o+J
Nkq0CcNP8I26OlWEoiYqUYWZdoHE0SPfrQoL+Oxe9AmVkkrkHlJscK41AoGAB3Ut
08SR6xDFHQmQTG5ToHbpJedufsPw/QX/0psZ2Cag5zJ5IZXqFHp387a3proF8dWa
aKQJHydYiuvbeqze/tDA6gVF9Pq0lSsABY12IvirmPK2p+fnqj7KSLcuzLD16CFb
1rZwHH6FS3mmCyFWFkp2U387NZjKMD2jr4knJQECgYEAxexweu0XMPRujIL4/ONO
XjKf0N7/WJOaMt4cxP/po02taLSg+9Nw3/7rEM2sX6046mG3mPTKb2Aj6gpdmPIj
DdpkFBoxgZy3/QBscm4Xmi6AOgmAVy0cNgnXLDbFY8pzUiaBaxpqtHlBxzxNk2UG
3DB1bo79CURbSmdFaUklpkQ=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIE+DCCAuCgAwIBAgIUCzY7jU+NrvxZf0WMdg/5AM5i8XYwDQYJKoZIhvcNAQEL
BQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5l
dCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAe
Fw0yNjAzMDkwNTI4MjFaFw0zNjAzMDYwNTI4MjFaMFMxCzAJBgNVBAYTAlVTMQsw
CQYDVQQIDAJDQTEMMAoGA1UEBwwDU1ZMMQ0wCwYDVQQKDARnUlBDMRowGAYDVQQD
DBEqLnRlc3QuZ29vZ2xlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBALubAUrAJMPnyWk+r5pBSm6b34IANDGKIVjYH3NYYKSi0hpmG0ID9lV3Llaf
XtPQCiwsB7LFayqD05VwQFGCzvG+9nFczwxSV86NM0yB8WAjxU1g4r3hKTCj8JN0
3PUqRYu2GQ3B0vy+NYcpCB2rCnce+6pgvQ35vbsw8RB0iZj6yoZapa0eoVtMg8lz
LJY9LVbLD2OH5jBOj/CM9dbqZw4NE1a/xll9u05pBU1DrS3xT2x0mERJnlepCtax
PC6UrEbDmZeXUrXSJNaZfbyTxBL02yC1kpjIHAgUZyNz7X0SI/jrEOVeZZwTdgv6
G6iA/soNe5Sgoij+hEHFpgn2a6MCAwEAAaOBvDCBuTB3BgNVHREEcDBughAqLnRl
c3QuZ29vZ2xlLmZyghh3YXRlcnpvb2kudGVzdC5nb29nbGUuYmWCEioudGVzdC55
b3V0dWJlLmNvbYcEwKgBA4Ymc3BpZmZlOi8vZXhhbXBsZS5jb20vd29ya2xvYWQv
OWVlYmNjZDIwHQYDVR0OBBYEFBX+f5l5bG5acfhtDIBG57WD+zAtMB8GA1UdIwQY
MBaAFPy47QN6FVgk896nwEF7nP3Qu2/OMA0GCSqGSIb3DQEBCwUAA4ICAQCWvSe3
kD21ksNBbH5COlpLhKbbnnlrkBAzzZjeJfkdDROXXUWAepxubX81cd5aZwhucFWL
bEL08D9+f+cUrseAafMxNXqBoK9fzJJq2v8fD27Ian63oAfcR5pG7EuvoJ99zwqL
Bi3SYuakq+u59LfWOmq/ohSi9H9pFbSJHjmMi0CynfL6qYJKacJcEjDq8yJTC4t7
/s8eJGz+w1sSIlpkgbnNva3MA2HrLVzdQwC7JzZ69FljX4JZH37PXTQfi6Ri1WJq
G8OlEnk4NVt/pimiK5OLmhcfk7fbFL274A7rLzrHT1IZE6NUmDq9i8BwqnTNumMI
mwNQWe7ZPO6SNyv8lVrcuZF/wRx4b5KP0OBqi9I5emjolU1n+OcfurClgkFgN46d
GSBeIToQekBOWFm1Hb4a/nBMqaiLHnslnBbGsZGZ+miD8Rue/yqtCD10NjYJkaUC
jHOSwZ3hNn1Po9S0HehKA9MZO/ES3MQHedqtP3K3HG52ZmKQ8NNKIQ34zSsgrNHP
vZgWpmdvcUrnzh1Ft1oq4nLws3Y2F4/c7YUfVWzo+ydePy5eaYQaMjYdhosBJWHk
3fMQJm+mkeLZmM2Akk5Zza68U6FuyBTyERbl60TV2pU7pZ5cqaOOO16/kfZTmYSq
9g6wsjV7y0tVXlPir4ezSeI0SyYikuS9/v6Ycw==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
{
"trust_domains": {
"foo.bar.com": {
"spiffe_sequence": 12035488,
"keys": [
{
"kty": "RSA",
"use": "x509-svid",
"x5c": ["MIIFlTCCA32gAwIBAgIUZ4e1KRtWw0c8V5NnA9VEoUMvzq4wDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlZBMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxGzAZBgNVBAMMEmZvby5iYXIuaG9vLmNhLmNvbTAeFw0yNjAzMDkwNTI4MjBaFw0zNjAzMDYwNTI4MjBaMFoxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJWQTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRswGQYDVQQDDBJmb28uYmFyLmhvby5jYS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDZRezL1GWM/0umgcLNGI9fsp0sabLUN1rUTwXjCGHvGAt9cPY1xK6P6+/QXeBkYogmwC3Udhwl+8x3AOu2FKP9QeveW+hB4N3SCtY4D+nGxPWnL1Yjh0170tkVRPkh89wPX4XdtAcIgZjjNgPH9wR3eWH8E3cDRvxjosy4e9aw0/VTHb0lZ2Ko6mY8x2bJNFUExmuh157b//yHdcL8O1K1h13o6YSqSlnLmnaSHpHA5/21erSjszE3ZjiPZFR6cl/RDjpJRKrh/eQAAeg7XO00VokrvZnK07mZ2nNyp4z1yCV4fwWCdBMfFfUSm0EgN8D65JxGj1He5bm4LVv6WuWj+cqgAzRhHjp8iZsmLFKvAoXSg1eJ+mG8vw5P9ZVd38M8N2DtifvmCkE1fln84oQj42wDgNQuwSafbGQIhNYrnsgbf+2lNj5IIYm/ScUcexbmCmKyOZfNcVQNAF26vQOvibBDOFyDW2qdi2tIGJgTPhkJPbDqKJx4UqNxIuoam28PifmK51Cn4i9rWOpQ2nM7JGX1Q3IE6S5iaVnogp2+SSh3PhktxQOK9IUX7ysX9eVQAdN8lnKgaIZuyYOx9H9jWValZ/dCLa2Y/BuFslx4NRVLtoJkUIakdTepo83ZrrSs3c4DSEIJJkgVPBmBkua3RdYB1Cw+A8T0C8nvExyJbwIDAQABo1MwUTAdBgNVHQ4EFgQU/LjtA3oVWCTz3qfAQXuc/dC7b84wHwYDVR0jBBgwFoAU/LjtA3oVWCTz3qfAQXuc/dC7b84wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAZFJDbhKL1M16Ya7eAvrgUWI9vbC4xm/68HzIGuQLeP9yr7QMfk5wzh9umYcGWs/hkz2jg/88PbPUEP35psTw+dZGtnQwi/0icM9w7m0HZrDx8vMYvX5AoEaPb5PqbjwhBxzd2Hpv/Y+PLLRO9uh1Xeh95J4yp5t/xOPyimljKLTam+rpj7BevYftlSXuIWrR6sldIt9I1zT5CfcBSefmSVo2WtgLdqfOBIAD73OMbcxEPDiTF4/q8S1qHeA8eNUXc5IrWEI2NirhpvR0ZXMyjY1gJoZ4XqPFSXg+1oi9qpbjMhKU5J+Rm8brv/HmACaP90hSPXjuRl2Tp/NJ6idV1heNd4MdTeAlH+deQ+UQ/rFo6HY95S3ltdcaDX8V7WdpRUQddv2DS5VPPi60LJuOdxKB+XFtjdLUtxwOw3Hoj91YWZLuMu2xzVeASeA6FsB0vZwQdqn8FX1BQNSIEHGs7tieV7N0AlLavQBpyRYfhgKOL9Utbl4Cp6C6k42uFo/tFREUdzgtt0JqT+/NMJRA6rOJYHVUWNeG2ggGpuCtHXkwktC4JBnUwnvdVZX3sXPslmiFzMO6S/+PesHA0TclifTZNOETHphF8efGsRFL/lkhcBRkZKBVOkWKdKMUnXPgDKLyu/e1WQXCXmyTjv8FEiG2Ni8U4P0c2PldooYVjw4="],
"n": "2UXsy9RljP9LpoHCzRiPX7KdLGmy1Dda1E8F4whh7xgLfXD2NcSuj-vv0F3gZGKIJsAt1HYcJfvMdwDrthSj_UHr3lvoQeDd0grWOA_pxsT1py9WI4dNe9LZFUT5IfPcD1-F3bQHCIGY4zYDx_cEd3lh_BN3A0b8Y6LMuHvWsNP1Ux29JWdiqOpmPMdmyTRVBMZrodee2__8h3XC_DtStYdd6OmEqkpZy5p2kh6RwOf9tXq0o7MxN2Y4j2RUenJf0Q46SUSq4f3kAAHoO1ztNFaJK72ZytO5mdpzcqeM9cgleH8FgnQTHxX1EptBIDfA-uScRo9R3uW5uC1b-lrlo_nKoAM0YR46fImbJixSrwKF0oNXifphvL8OT_WVXd_DPDdg7Yn75gpBNX5Z_OKEI-NsA4DULsEmn2xkCITWK57IG3_tpTY-SCGJv0nFHHsW5gpisjmXzXFUDQBdur0Dr4mwQzhcg1tqnYtrSBiYEz4ZCT2w6iiceFKjcSLqGptvD4n5iudQp-Iva1jqUNpzOyRl9UNyBOkuYmlZ6IKdvkkodz4ZLcUDivSFF-8rF_XlUAHTfJZyoGiGbsmDsfR_Y1lWpWf3Qi2tmPwbhbJceDUVS7aCZFCGpHU3qaPN2a60rN3OA0hCCSZIFTwZgZLmt0XWAdQsPgPE9AvJ7xMciW8",
"e": "AQAB"
}
]
}
}
}

View File

@@ -0,0 +1,28 @@
[spiffe_client]
subjectAltName = @alt_names
[spiffe_client_multi]
subjectAltName = @alt_names_multi
[spiffe_server_e2e]
subjectAltName = @alt_names_server_e2e
[spiffe_client_e2e]
subjectAltName = @alt_names_client_e2e
[alt_names]
URI = spiffe://foo.bar.com/client/workload/1
[alt_names_multi]
URI.1 = spiffe://foo.bar.com/client/workload/1
URI.2 = spiffe://foo.bar.com/client/workload/2
[alt_names_server_e2e]
DNS.1 = *.test.google.fr
DNS.2 = waterzooi.test.google.be
DNS.3 = *.test.youtube.com
IP.1 = "192.168.1.3"
URI = spiffe://example.com/workload/9eebccd2
[alt_names_client_e2e]
URI = spiffe://foo.bar.com/9eebccd2-12bf-40a6-b262-65fe0487d453