23
23
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .CertificateProviderPluginInstance ;
24
24
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .CertificateValidationContext ;
25
25
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .CommonTlsContext ;
26
- import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .CommonTlsContext .CertificateProviderInstance ;
27
26
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .CommonTlsContext .CombinedCertificateValidationContext ;
28
27
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .DownstreamTlsContext ;
29
28
import io .envoyproxy .envoy .extensions .transport_sockets .tls .v3 .UpstreamTlsContext ;
@@ -63,48 +62,26 @@ public class CommonTlsContextTestsUtil {
63
62
public static final String BAD_CLIENT_KEY_FILE = "badclient.key" ;
64
63
65
64
/** takes additional values and creates CombinedCertificateValidationContext as needed. */
66
- @ SuppressWarnings ("deprecation" )
67
- static CommonTlsContext buildCommonTlsContextWithAdditionalValues (
65
+ private static CommonTlsContext buildCommonTlsContextWithAdditionalValues (
68
66
String certInstanceName , String certName ,
69
67
String validationContextCertInstanceName , String validationContextCertName ,
70
68
Iterable <StringMatcher > matchSubjectAltNames ,
71
69
Iterable <String > alpnNames ) {
72
-
73
- CommonTlsContext .Builder builder = CommonTlsContext .newBuilder ();
74
-
75
- CertificateProviderInstance certificateProviderInstance = CertificateProviderInstance
76
- .newBuilder ().setInstanceName (certInstanceName ).setCertificateName (certName ).build ();
77
- if (certificateProviderInstance != null ) {
78
- builder .setTlsCertificateCertificateProviderInstance (certificateProviderInstance );
79
- }
80
- CertificateProviderInstance validationCertificateProviderInstance =
81
- CertificateProviderInstance .newBuilder ().setInstanceName (validationContextCertInstanceName )
82
- .setCertificateName (validationContextCertName ).build ();
83
- CertificateValidationContext certValidationContext =
84
- matchSubjectAltNames == null
85
- ? null
86
- : CertificateValidationContext .newBuilder ()
87
- .addAllMatchSubjectAltNames (matchSubjectAltNames )
88
- .build ();
89
- if (validationCertificateProviderInstance != null ) {
90
- CombinedCertificateValidationContext .Builder combinedBuilder =
91
- CombinedCertificateValidationContext .newBuilder ()
92
- .setValidationContextCertificateProviderInstance (
93
- validationCertificateProviderInstance );
94
- if (certValidationContext != null ) {
95
- combinedBuilder = combinedBuilder .setDefaultValidationContext (certValidationContext );
96
- }
97
- builder .setCombinedValidationContext (combinedBuilder );
98
- } else if (validationCertificateProviderInstance != null ) {
99
- builder
100
- .setValidationContextCertificateProviderInstance (validationCertificateProviderInstance );
101
- } else if (certValidationContext != null ) {
102
- builder .setValidationContext (certValidationContext );
103
- }
104
- if (alpnNames != null ) {
105
- builder .addAllAlpnProtocols (alpnNames );
106
- }
107
- return builder .build ();
70
+ @ SuppressWarnings ("deprecation" ) // gRFC A29 predates match_typed_subject_alt_names
71
+ CertificateValidationContext .Builder certificateValidationContextBuilder
72
+ = CertificateValidationContext .newBuilder ()
73
+ .addAllMatchSubjectAltNames (matchSubjectAltNames );
74
+ return CommonTlsContext .newBuilder ()
75
+ .setTlsCertificateProviderInstance (CertificateProviderPluginInstance .newBuilder ()
76
+ .setInstanceName (certInstanceName )
77
+ .setCertificateName (certName ))
78
+ .setCombinedValidationContext (CombinedCertificateValidationContext .newBuilder ()
79
+ .setDefaultValidationContext (certificateValidationContextBuilder
80
+ .setCaCertificateProviderInstance (CertificateProviderPluginInstance .newBuilder ()
81
+ .setInstanceName (validationContextCertInstanceName )
82
+ .setCertificateName (validationContextCertName ))))
83
+ .addAllAlpnProtocols (alpnNames )
84
+ .build ();
108
85
}
109
86
110
87
/** Helper method to build DownstreamTlsContext for multiple test classes. */
@@ -152,7 +129,7 @@ public static DownstreamTlsContext buildTestDownstreamTlsContext(
152
129
useSans ? Arrays .asList (
153
130
StringMatcher .newBuilder ()
154
131
.setExact ("spiffe://grpc-sds-testing.svc.id.goog/ns/default/sa/bob" )
155
- .build ()) : null ,
132
+ .build ()) : Arrays . asList () ,
156
133
Arrays .asList ("managed-tls" ));
157
134
}
158
135
return buildDownstreamTlsContext (commonTlsContext , /* requireClientCert= */ false );
@@ -199,7 +176,6 @@ public static X509Certificate getCertFromResourceName(String resourceName)
199
176
}
200
177
}
201
178
202
- @ SuppressWarnings ("deprecation" )
203
179
private static CommonTlsContext buildCommonTlsContextForCertProviderInstance (
204
180
String certInstanceName ,
205
181
String certName ,
@@ -210,10 +186,10 @@ private static CommonTlsContext buildCommonTlsContextForCertProviderInstance(
210
186
CommonTlsContext .Builder builder = CommonTlsContext .newBuilder ();
211
187
if (certInstanceName != null ) {
212
188
builder =
213
- builder .setTlsCertificateCertificateProviderInstance (
214
- CommonTlsContext . CertificateProviderInstance .newBuilder ()
215
- .setInstanceName (certInstanceName )
216
- .setCertificateName (certName ));
189
+ builder .setTlsCertificateProviderInstance (
190
+ CertificateProviderPluginInstance .newBuilder ()
191
+ .setInstanceName (certInstanceName )
192
+ .setCertificateName (certName ));
217
193
}
218
194
builder =
219
195
addCertificateValidationContext (
@@ -248,35 +224,28 @@ private static CommonTlsContext buildNewCommonTlsContextForCertProviderInstance(
248
224
return builder .build ();
249
225
}
250
226
251
- @ SuppressWarnings ("deprecation" )
252
227
private static CommonTlsContext .Builder addCertificateValidationContext (
253
228
CommonTlsContext .Builder builder ,
254
229
String rootInstanceName ,
255
230
String rootCertName ,
256
231
CertificateValidationContext staticCertValidationContext ) {
257
- CertificateProviderInstance providerInstance = null ;
258
- if (rootInstanceName != null ) {
259
- providerInstance = CertificateProviderInstance .newBuilder ()
260
- .setInstanceName (rootInstanceName )
261
- .setCertificateName (rootCertName )
262
- .build ();
263
- }
264
- if (providerInstance != null ) {
265
- builder = builder .setValidationContextCertificateProviderInstance (providerInstance );
232
+ if (staticCertValidationContext == null && rootInstanceName == null ) {
233
+ return builder ;
266
234
}
267
- CombinedCertificateValidationContext .Builder combined =
268
- CombinedCertificateValidationContext .newBuilder ();
269
- if (providerInstance != null ) {
270
- combined = combined .setValidationContextCertificateProviderInstance (providerInstance );
271
- }
272
- if (staticCertValidationContext != null ) {
273
- combined = combined .setDefaultValidationContext (staticCertValidationContext );
235
+ CertificateValidationContext .Builder contextBuilder ;
236
+ if (staticCertValidationContext == null ) {
237
+ contextBuilder = CertificateValidationContext .newBuilder ();
238
+ } else {
239
+ contextBuilder = staticCertValidationContext .toBuilder ();
274
240
}
275
- if (combined .hasValidationContextCertificateProviderInstance ()
276
- || combined .hasDefaultValidationContext ()) {
277
- builder = builder .setCombinedValidationContext (combined .build ());
241
+ if (rootInstanceName != null ) {
242
+ contextBuilder .setCaCertificateProviderInstance (CertificateProviderPluginInstance .newBuilder ()
243
+ .setInstanceName (rootInstanceName )
244
+ .setCertificateName (rootCertName ));
245
+ builder .setValidationContext (contextBuilder .build ());
278
246
}
279
- return builder ;
247
+ return builder .setCombinedValidationContext (CombinedCertificateValidationContext .newBuilder ()
248
+ .setDefaultValidationContext (contextBuilder ));
280
249
}
281
250
282
251
private static CommonTlsContext .Builder addNewCertificateValidationContext (
0 commit comments