Skip to content

Commit

Permalink
Fix conformance test and update to protoc 25.0 (#145)
Browse files Browse the repository at this point in the history
  • Loading branch information
pkwarren authored Nov 7, 2023
1 parent 65fb4e4 commit 6a28755
Show file tree
Hide file tree
Showing 7 changed files with 97 additions and 109 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ MAKEFLAGS += --no-print-directory
BIN := .tmp/bin
CACHE := .tmp/cache
LICENSE_HEADER_YEAR_RANGE := 2022-2023
LICENSE_HEADER_VERSION := v1.26.1
PROTOC_VERSION ?= 24.4
LICENSE_HEADER_VERSION := v1.27.2
PROTOC_VERSION ?= 25.0
GRADLE_ARGS ?=

UNAME_OS := $(shell uname -s)
Expand Down
117 changes: 12 additions & 105 deletions conformance/common/src/main/kotlin/com/connectrpc/conformance/ssl/SSL.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ package com.connectrpc.conformance.ssl

import okhttp3.tls.HandshakeCertificates
import okhttp3.tls.HeldCertificate
import okio.ByteString.Companion.encodeUtf8
import java.security.KeyFactory
import java.security.KeyPair
import java.security.cert.CertificateFactory
Expand All @@ -29,22 +28,23 @@ import javax.net.ssl.SSLSocketFactory
import javax.net.ssl.X509TrustManager

fun sslContext(): Pair<SSLSocketFactory, X509TrustManager> {
val certificate = CLIENT_CERT.byteInputStream(Charsets.UTF_8).use { stream ->
val certificate = object {}.javaClass.getResourceAsStream("/cert/client.crt").use { stream ->
CertificateFactory.getInstance("X.509").generateCertificate(stream) as X509Certificate
}
val certificateAuthority = CONFORMANCE_CA_CERT.byteInputStream(Charsets.UTF_8).use { stream ->
val certificateAuthority = object {}.javaClass.getResourceAsStream("/cert/ConformanceCA.crt").use { stream ->
CertificateFactory.getInstance("X.509").generateCertificate(stream) as X509Certificate
}
val publicKey = certificate.getPublicKey() as RSAPublicKey
val clientKeyBytes = CLIENT_KEY
.replace("-----(BEGIN|END) PRIVATE KEY-----".toRegex(), "")
.replace("\r?\n".toRegex(), "")
.encodeUtf8()
.toByteArray()
val decodedKey = Base64.getDecoder().decode(clientKeyBytes)
val publicKey = certificate.publicKey as RSAPublicKey
val privateKeyBytes = object {}.javaClass.getResourceAsStream("/cert/client.key")!!.bufferedReader().use {
val lines = it.readLines().toMutableList()
// Remove BEGIN RSA PRIVATE KEY / END RSA PRIVATE KEY lines
lines.removeFirst()
lines.removeLast()
Base64.getDecoder().decode(lines.joinToString(separator = ""))
}
val privateKey = KeyFactory.getInstance("RSA")
.generatePrivate(PKCS8EncodedKeySpec(decodedKey)) as RSAPrivateKey
if (publicKey.getModulus() != privateKey.getModulus()) {
.generatePrivate(PKCS8EncodedKeySpec(privateKeyBytes)) as RSAPrivateKey
if (publicKey.modulus != privateKey.modulus) {
throw Exception("key does not match cert") // or other error handling
}
val clientHeldCertificate = HeldCertificate(KeyPair(publicKey, privateKey), certificate)
Expand All @@ -55,96 +55,3 @@ fun sslContext(): Pair<SSLSocketFactory, X509TrustManager> {

return result.sslSocketFactory() to result.trustManager
}

// https://github.com/connectrpc/conformance/blob/main/cert/client.crt
// cert issues: https://stackoverflow.com/questions/9210514/unable-to-find-valid-certification-path-to-requested-target-error-even-after-c
private const val CLIENT_CERT = """-----BEGIN CERTIFICATE-----
MIIEODCCAiCgAwIBAgIRAJTCeo42f8lts3VeDnN7CVwwDQYJKoZIhvcNAQELBQAw
FjEUMBIGA1UEAxMLQ3Jvc3N0ZXN0Q0EwHhcNMjIwNTAzMTcxMDQwWhcNMjMxMTAz
MTcxOTU2WjARMQ8wDQYDVQQDEwZjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCoJI6BDesWPERm7zjLGA9Pp0XSR3rnpecXTKIBwamr35gr/It4
jAZMMBUBHhdvLB0pAj1/hlWLvDQSuQBvfsr2KrqOvtVOP0c5KCzwHjvLmyhhvjOV
5iEdtv5mUDwILcQH8mvK4XTyWqIDvslUs3KxWfuwrPHZE+qptVAE982pbYixQTTG
ynRKi+tlFqb0a070koKu5jj+x2TV6Kgh4SFmexHdBSYWiElUGAks2MJ09CT5+Dva
z4lePGlA6VlDIjwif/lziHASBvW+6J4ZpLyAeCc+1/DgI74Gmpy2oNGmb2LBMwrM
OZL5KsdiMyYY9ZjPmKWcxybjgGPfinbctOldAgMBAAGjgYUwgYIwDgYDVR0PAQH/
BAQDAgO4MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU
kjyFVJG7YocJyghCFYWHEDdWrv0wHwYDVR0jBBgwFoAUpg6MnxjPVlc2QEjDWcAC
0qxir5IwEQYDVR0RBAowCIIGY2xpZW50MA0GCSqGSIb3DQEBCwUAA4ICAQAgqAI9
/yUVAyf3UoSYaZrA22/OPUwvoHoQOSWZDkHXIy9VOiQAJNE8N97XzIIgbjB93sVC
njwOUk+kXEfmPZuD8RdAR43m1s+WrKCMukAIyg7hobLHqolkUPCdKlsaXgUsNsX1
T5ka1imVaIyggXWBVu3Q3Wpt8ERl82ncBr65wzRnvAdsGOFag4ujamSAU8s/Mhfy
EXNkx9u4MqvfWqhU7e5uBULfic+e836ojDxa5If7/MZo892lCQq6t861e5SOHhRN
AtS7toBmR/h5vYGDqmIwGGaR6YqcIMZ9JbWyPRbr2KIiMDGU7EvVYpIuIKdodbkJ
aN9RTmaCJTJVHrwMos9sAjwUqis+5gZj7lsPozp7OKYlFwy5Ae4+3C8e8Q1sIzKv
FaiodJ712fK6xsYr8CbUm4XbP3FBCAiYwbbaJg6odOciexpyvFnbF7152t+a6wOc
52z4pz7cCjZun40eDxmSucRGx5Do1ohFNrXxriGih0nFF82GCSCZZ3ddkSTIy/Uj
15MCKRXIOq/0kFDtMIJZ6X73I6jLvk0hiakfrV+GyrVBkzG1pHJEsSyiy7f1edTG
FjL/opqnz8GV8od9hLHJfwclPBSEA0fp7yNvOzKm1lNPEX009ME1hK4dLKNCqv3x
g+mJcflVCfjEqJzfEy4wPq5SJzOIzXva6DyBpA==
-----END CERTIFICATE-----"""

// https://github.com/connectrpc/conformance/blob/main/cert/ConformanceCA.crt
// Certificate authority for the trusted cert.
private const val CONFORMANCE_CA_CERT = """-----BEGIN CERTIFICATE-----
MIIE7DCCAtSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDEwtDcm9z
c3Rlc3RDQTAeFw0yMjA1MDMxNzA5NTlaFw0yMzExMDMxNzE5NTZaMBYxFDASBgNV
BAMTC0Nyb3NzdGVzdENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
qEUpIjCMAu5K7GuFrAu4cUtKMZaX78L9DbCtq7tkwPX9JLgNUxrfgN1qdIFsxRfw
/XaRjK+A3Gbech4z1U5ujeImAqg6IzpdFvQg9NVlIXpaEhsTk/oU8YXJAouXzBCZ
LBteiK3L5410/O95dVNUKpPlX0qHPkxr+ZUeV+8+MRVge7xDwceBpnAUj1gSMmcE
93i6CnVr75cF2aScB37rquuCpYcjibAQq0V9qvlG7DtEPg1gMt2Hluc5Vjf/sWI3
HTxoBaWxQ4iqdwNRrNO+yjZ97IHe92bnEXzkynhWyd0hCcdwDaU4Gb33xcFjMlWr
cYtVmhHIIN3L/v/P69uhskEGqGRICcOHI+Y0jRz5eVwln87waMosM4ecSCnygmTf
RNRL3eRzZYZj5/eqJYPpErswdtoOiix5cStNpXU8GqmxMqAtrStgl86gLtJXtZgn
LETquRfHSQvNFbuDO6bm56eWf/PqXeCJYZkb3wuBVK8uU8BUSH1wCnhDdpaJIpR+
zY93XrRiVXFka0ZNvaAHZsHnHtuxKaP+fOSIhrCWqa2hhpUEw4ykKFZfznqOk+UU
jwgnRRZN6rZaRQQGuoR94WNoP2cy3JJOpnEzRsTfwG+FL+gJSEN4tg2DbO7th/Ae
fHvAJ0VfCllabvQbLGjJFkI4ddMSj5lhJyIBfu6YWlsCAwEAAaNFMEMwDgYDVR0P
AQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFKYOjJ8Yz1ZX
NkBIw1nAAtKsYq+SMA0GCSqGSIb3DQEBCwUAA4ICAQByUDpOqgviWV/d3U9+84Sv
tkaL3Z4niKJxmGWwdzMhZFBlgEEsy5vBZ08uYkuel5Gg8Fl6pKVi2hPMU8NSZIMB
7OvomHfV6ag1CInbRozs7+ef/MKIC4ic7Tqmzf0zRpFjogkhUghMzYLmjjsPXwOb
JwJGmdyytHZ30qATIsoaR17/FRedl/FVlLoV48eMDIiu9ZuBqRLXqvJ4Xar0i/Td
TQdvFU5v4x785th5I9gWcKHZR1Frx4j4bfWWNi8m6cPp4i1R8prq5z+8lnIq/yJR
/QERkHQRZ1X6FK9aOnbMBFu+gLXcKSql7goGTIXVzqFeKmrZgqblu3axRQ8brs7p
1Va6Ha8yQyawV0FQKCcVEmXxpjSONWc9qyBDBx32/praLOET3UHmYcJilVAgZufR
9pAuCRf+7nDx9t2vynmT0C8MeFNjDRcN8QYr9lO9CUbcV+nOqiEG128XMhjsLj7m
lEP/lCyEGGVB+/LuxbRxOGzoZDb0WVan41zSNaFfnvXGMuTxLOhY6upiljL8k6Jm
eqI0hZhMnLbJFVnKgqaMpV+h2UvmEPXNx9oSKSG+11awVPdJjf4MLVOVVTPeLEv6
AsJXGUNptIhuKblQ0afNGOF37CCbDhdajKnMFVbXZWxFsDEs0J4EW0donSiJEGFF
iQ8d6tGEgzeekht617JMvQ==
-----END CERTIFICATE-----"""

// This is the decoded rsa client key below.
// openssl pkey -in key.pem -out outkey.pem
// (alt: openssl pkcs8 -topk8 -nocrypt -in key.pem -out output)
// https://stackoverflow.com/questions/68926722/how-to-read-a-certificate-chain-for-okhttpclient
private const val CLIENT_KEY = """-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCoJI6BDesWPERm
7zjLGA9Pp0XSR3rnpecXTKIBwamr35gr/It4jAZMMBUBHhdvLB0pAj1/hlWLvDQS
uQBvfsr2KrqOvtVOP0c5KCzwHjvLmyhhvjOV5iEdtv5mUDwILcQH8mvK4XTyWqID
vslUs3KxWfuwrPHZE+qptVAE982pbYixQTTGynRKi+tlFqb0a070koKu5jj+x2TV
6Kgh4SFmexHdBSYWiElUGAks2MJ09CT5+Dvaz4lePGlA6VlDIjwif/lziHASBvW+
6J4ZpLyAeCc+1/DgI74Gmpy2oNGmb2LBMwrMOZL5KsdiMyYY9ZjPmKWcxybjgGPf
inbctOldAgMBAAECggEAVpOkML1K7AMSMXJB6wkzcQ8vO2wE09wv1mZmEMN4KwCR
aSy7X9GxuG8VkaK97EdpqGD3637u82lv4qgRmldOCFzN/Iw0ZvrcIIkYQnc+0MLO
ky2NgESjjppX+bSchJWUF4dyi191iQiz3XvSTOOtTbaIi1sxmFXSAZpTXot+ARuI
mkxLueZUqeYsSzTaDgbcf7EpdF9GFADtEh04hr+IeQmw1D6jgyInuzgbWGnfOpkF
Kce48zeqqP4wBQeht4kp0HtYJblRZcj06YCvJFKT5HooMOhfHJZlzQVDkEnQ6HAz
MGzGCqzngINY0P88uOay86O92EyqkpHLYCagxeTQnQKBgQDQyRuGH8zucR4bAozw
zGi9IQTS7SPaSxuC31bHZoJ+I/oZbEtlm6OjVpXtOASfszvSrJ5Oz0H99ZXOT607
TI3RLTtXGVpjlExXjgt0edDzlN5MQjFAgBplireQV1+Kb1lXOi5kcriYKpigqkpD
LHSwSNt+b36109uz/HnHNVrkRwKBgQDOKpTOaimxkzgKcKeq+4orwYftbANld3tK
sw6baoG69nE1Bmw02xMtH1JXbdgD3JiuSaR2p1VFL1ZfUeMWBtKtDX1vieTsZnd3
WmMIhnQFb5ZUjpmQg1EKeIKwr/Z9qQJHJqwdMX55kit7tIiMzZIrFBTsRsbUnUy3
dWHeKVLLOwKBgQC7DWIOYRE+ErQRKNDSr5+qyhlDS9gSK7YjIyrhDLMeheb8vewy
xSTvIpTB6a0i0vZmweY23zLVbx/erb2a4fQwkqCWYQ19J5DZ5FXY7YZJpHcgxTDR
A7QigwwAUnczVJ0rK+ICdlFxasBBOS+9TOfiQ/P6K7PO/VbZwvnrgp7C4wKBgQC4
0NdBC06BD5aHVWIZFxFQFFfD8LZCuY9e8ZFApYPSlKX7gNxzrYhNROzNz3x8Sb7d
TssOSwdX1A27uW63CjrGQ3eVC6qaeWjTJ8XrmIxdayD6gDMNp4p4tnuB5Nw03dNa
8UINkZbtaKluZfKbNpW35HK1NOV9J93kAGhRff3ojQKBgBJgXdODMVUaRAr+VWVM
4VpYB/QhnerBV8JaV7OLgZUMdz55nbufysRQ8UeAQeb0gPSO6f/gVCxSSRZCm9+X
YfnVHhS0VV49dKIqrsP8o1qZJRhjcq/J/Rrm2ZFHfdLCOOnd9VG4W2I1WB9MDc4t
raq4CptHPEywZgBR95C0Jv3y
-----END PRIVATE KEY-----"""
29 changes: 29 additions & 0 deletions conformance/common/src/main/resources/cert/ConformanceCA.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIFADCCAuigAwIBAgIRAIVS/Ozzz7uIPINldnaqPpowDQYJKoZIhvcNAQELBQAw
GDEWMBQGA1UEAxMNQ29uZm9ybWFuY2VDQTAeFw0yMzExMDYyMjMwMDJaFw0zMzEx
MDYyMjMwMDFaMBgxFjAUBgNVBAMTDUNvbmZvcm1hbmNlQ0EwggIiMA0GCSqGSIb3
DQEBAQUAA4ICDwAwggIKAoICAQD7KIbF2FVaxH1EteFDX/4+kOU9swomk7Rx1mu4
owvYuQL9VpUx6txCuuenJVGn4xa/4bGiOYlJYAq64YpY1BoHwJRGhME4PjEuDPpH
p7aF4MR46O5gyn+ikfMAwr1hDrN0bbijpKPZTMQla1WcWqHS0AY2VpopRvzJsVX+
aR2UPrVhsiWoKz9Quu23rpxJijZSrdknMaUFakblIg3eSN54VRN/dXEMgg40r8Jc
KOyqoJmwUYRhKXnee5tadMS3IbMNNQVD5xyerGO2E1ZfwqOKegzLD4apu6cF7Kdk
KiFOyVQoBokmnFbWgENBgm0Do7zlrtexkCsEGebqnQW+P9yx20LVc54DxQtEpI0U
TnXM0a8BEtDoVJsTGeENlvQTP0vYOp7mjZg7D3vXOxm0pm5qCSVDeRwLIT6W2+mQ
xd3BPCKwe4tmA3b2OuRGl5Ud0TbR1VBmkitHkTc51wPgsbdk/0Of4iT7GTYZrdN4
Xp0obcfC9JCJ7VQ0V6avcFSl/zu0lOxV39euJA7oCkkWO3l0NN3Te2JnIrSHpuqd
SiI4v1KmK6knDZbIoTcZCWIMToZSAYV9Qq74DPzeqdh7x4EapudUYCo0LlyLAJPM
52nOX5LHqkt2VEK+jJC8d9yiPzhsf+tKpcwEmrZd1503DdZ3v5NZ6v4Xf08CiZvW
flEAsQIDAQABo0UwQzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIB
ADAdBgNVHQ4EFgQUVvNNi4CfmW3DyDsQ6GuO5lJdg2owDQYJKoZIhvcNAQELBQAD
ggIBAD5eZgKPlMp/wjMJD0cW3a8L3C3OPVXJ3e8SWc/8oz5MGhGUqVjz5GIB8rPR
Q1/CV8P29TFpT4wCHiIVv1dz2O3+6Bew9hx3Z7CMf+i0IHoHS18pr7ZJJjnPLBV7
8phRm15qvyTK0EH81G0uymbmFUGze+08zvJ6mReEfh8vnFyJSfDee6RjN6XHxdz8
nILhfJCs9v0w9klcysZqs52dvkocY0fevdEPDwCGotQIN76v1pT3/7ak/Ll66N2V
Ic77vDx1kmuUpL9zPjMCopB2W8+VKDDRzAlJ2zh9vIbjgiVTMSCPRz+kIVZvnYyK
fZWMReXVEy34oqmm3Ya+tCrGr8bIM/NjQD/LWXZSL+djZuJuD4PmPwMOUIrHcA3d
ic66YA+B7mkEsja0p5uXSpzGyc9vxodL8fu7lo4bW3p94tEyOIiY/0IBwOVcIefk
XssEQkXZwldQcAnEFdM8iWOehX22DGfvk7c8k10FEoh5gfHV+sMnV1efp4MXgfuk
KdIfvClvE9RlmIDDQFl3Lmhc1T1e06h1Wn04sGbZo2tuBCtmx/LzxQPVC10w/yYi
aXhr/7Uevv0ZXHj6HXxhNm1fkWbSo1RCVjWtSlPw+LZ+ZRYTfObtOquHQednJSW/
FBB7UDmxzR/34yGb80nffR5uceUOQ+hMBaLKy2XiNmCgY2UU
-----END CERTIFICATE-----
24 changes: 24 additions & 0 deletions conformance/common/src/main/resources/cert/client.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEDzCCAfegAwIBAgIRANB5PZqbXCGOAyK7X7602D4wDQYJKoZIhvcNAQELBQAw
GDEWMBQGA1UEAxMNQ29uZm9ybWFuY2VDQTAeFw0yMzExMDYyMjMwMDJaFw0zMzEx
MDYyMjMwMDFaMBExDzANBgNVBAMTBmNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAK/qBaQVmzjuz1PfdMZ19uOnl7BbkxXBwKjeZrKakduOD+zG
092FAc3uTV7x2uXFLBKlRtrUOl+SDXI3xGSxTf8xlHPEwFogj88f0w5kwj61//3h
nasN4RgiK08XJVhvqxEZJzRMzG7KZeLsD2RqlM+kCWXPb+ATzTpQL7oZ7//gkq0/
Gmz693ZfVX+G+iwWx7UKKWY01Rb7TdSrkpQRhyMVgksq0Twr5G+3EGNYuG5rEhi6
4H14hNzgcIYEehqS9ep4kA09BY4JhqFDeZ3028iLuhVjqHplfE4CKiypdWDh1Epi
RjwJFSHEMOPwu77xdayYYTlUUi5B89ERUhhuF+MCAwEAAaNbMFkwDgYDVR0PAQH/
BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFFbzTYuAn5lt
w8g7EOhrjuZSXYNqMBEGA1UdEQQKMAiCBmNsaWVudDANBgkqhkiG9w0BAQsFAAOC
AgEA33mexmZXoLssVSVsSDCwnREpKgOEaxUz7tSjKJysshOExNm83s41PoA6ogbl
RugUYDZmakQQcYltph+MqLgoN4SGWlzjryKgWkMjlGV5D8IwNLreyGJhqKtaXFsu
WEG1qJXFrbzqBdl6BCNpJ0qUPEEL+TwBaW2fq+xi+EpvD+IhCvn/ysJJM0Z5Fs3Q
63SeK0/LTW00+SPZERuZOHRPzDDoideAZk6bugEr8mxRQXk617y1Zlj8eeG0NG67
F1NAhvrnez9/0rLy8CxxRvc4LXKP/HVgdFs8EdU8SjfXkXCFCKOrhQCW1wmxMWn8
bGtso8NiUkeZwc3eBtiLSB8Zlq69yqH9QzonU68EpkBBm1Fr4g6v21gp+DsBNSX5
TkckHY3SBdxttTzlc8mlmRplqE/DhyHv0RqZ4KCsxqeG9YkUmXixI2Q19g1pxCHE
ZSkk4IjN6xS1TQzPy8tlKx9j/3dqkAoBi5rHlwk3hOupYq+cyqHdF5BYwjW3nnIE
H/p2CcC6BUyOUp3syy0Cmosot3hWU2AhDgnv7t1u07AAazxPO7IEcxZ7xs5Akg/m
2Bjx4sOQzOhgj79GJPnxcy49n+3spqneaOtUbC0DSONDKatbbnTIp5xn9lFuc23C
FfGBaBNYBqoz7sHwlv68h1UTpbfwztZ+arUB/goS8SRPDVU=
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions conformance/common/src/main/resources/cert/client.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCv6gWkFZs47s9T
33TGdfbjp5ewW5MVwcCo3maympHbjg/sxtPdhQHN7k1e8drlxSwSpUba1Dpfkg1y
N8RksU3/MZRzxMBaII/PH9MOZMI+tf/94Z2rDeEYIitPFyVYb6sRGSc0TMxuymXi
7A9kapTPpAllz2/gE806UC+6Ge//4JKtPxps+vd2X1V/hvosFse1CilmNNUW+03U
q5KUEYcjFYJLKtE8K+RvtxBjWLhuaxIYuuB9eITc4HCGBHoakvXqeJANPQWOCYah
Q3md9NvIi7oVY6h6ZXxOAiosqXVg4dRKYkY8CRUhxDDj8Lu+8XWsmGE5VFIuQfPR
EVIYbhfjAgMBAAECggEAG9npWrkxAiqNGLJgQquakyCNm5ZkCyXJ4vKTP+PJBAHR
86LnGENercP06/tOtOIqwCj6ttqzAz6Ucmjx5x9LQgQPhOS5r4tIOXrIZ5b8SgF2
rjNySwq/gJqoULVRbFcBtotM8bLXCxNwXiURqsxVEyrdcgkNpWR9MaZQaB6DKPea
DuqEcUk8nRVm97KAkxJqavW47HdSemb0QawVBtczyd4TR+Oh1Sd9cY01dN07CIqc
7qol6kqCP5O02t4kVflfnLcK4BhKoCFsuSwNEtOlodskd/NjOTvFMSS3nKJluXuA
dEbAUYiUoL+bkQaxuS/gUL/QLb/FpZAeki+MoZEdQQKBgQDUjJOqeFlpj2l/PQ8/
/elp7BYSO6GFLQ8uX4ofycEXYM7Lx+OQu7UoiCGzvSg5uDUY0TN+pnShc81JCCO+
Fi9DxOCFHcGyNeA+Nl8+I/9fQwW65WuUodtP0ee4BpVmM0xw4qKBPAjqpPX6ixHt
kpSfhqVZ3ibiN18SvLiNGooUjQKBgQDT4DYckWgrQRzRZZCXG1o7tAcj8SHYdQn1
y5L5IgsXgRhmOt4Bt01q9CZ1qkShTtewakpHeqGt3pDGaqiATqkJCmOM1PRy6h8Y
yQWh8Y104qrAJbV7jY+KteNbz8Y74yQ+Gy+R3zawFHwxmCxOq29aYF7GSAhxm/Mo
3k+4InYaLwKBgQCYR+d8GSGmWZNyD+MfK+HRe84MXiDI85GO3fBt+fSXtUo0AhBu
n62ZTn8m8X0ibXHNSAUm1kd1bSxFCMni5K4UVbeuZ7Vg4uy4Zegy80OBktlGIBzF
rnkcZP0pgb4ELPi1YAqhoMuaoXmCeaTsmzpUWPmau2kMZjN9jyyCG+OV+QKBgQC1
IKXhwkTFRYK3WBZFt7Jp+7tm9Is0msmLAR+CL6I/07LiIk0MNoHOfy4pxQeqxtYJ
ELSzapixJOWrWh72oUhMXD9CdAMOAivXanKQQQnm9Kd4YERHfXtK37egE32qUMH4
/hCqqaH84WZSl365OkGVh3E+HPJq/SDgvTx1c7B3LQKBgCws4gC7TacDxSzR745t
9+rOf/tb7vKGDSdz3N1dSw63NBsRck8D5DiKdnaCrWiLET4fuOEYzAA6ciW2IEYs
pdFCz6PqOgyIIhK30CFgi80EwXBWqrlVfM4aK8Zx4+jBN+8R3Z5mjfpjhInPDCEw
RpTWgN9cH3wSNusTzOTc66Sy
-----END RSA PRIVATE KEY-----
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class Conformance(
private lateinit var testServiceConnectClient: TestServiceClient

companion object {
private const val CONFORMANCE_VERSION = "0b07f579cb61ad89de24524d62f804a2b03b1acf"
private const val CONFORMANCE_VERSION = "88f85130640b46c0837e0d58c0484d83a110f418"

@JvmStatic
@Parameters(name = "client={0},server={1}")
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ mavenplugin = "0.25.3"
moshi = "1.15.0"
okhttp = "4.12.0"
okio = "3.6.0"
protobuf = "3.24.4"
protobuf = "3.25.0"
slf4j = "2.0.9"
spotless = "6.22.0"

Expand Down

0 comments on commit 6a28755

Please sign in to comment.