@@ -79,12 +79,19 @@ dependencies {
79
79
runtimeOnly " joda-time:joda-time:2.10.10"
80
80
81
81
// Dependencies for oidc
82
- api " com.nimbusds:oauth2-oidc-sdk:9.37"
83
- api " com.nimbusds:nimbus-jose-jwt:9.23"
82
+ api " com.nimbusds:oauth2-oidc-sdk:11.10.1"
83
+ api project(path : xpackModule(' security:lib:nimbus-jose-jwt-modified' ), configuration : ' shadow' )
84
+ if (isEclipse) {
85
+ /*
86
+ * Eclipse can't pick up the shadow dependency so we point it at the unmodified version of the library
87
+ * so it can compile things.
88
+ */
89
+ api " com.nimbusds:nimbus-jose-jwt:9.37.3"
90
+ }
84
91
api " com.nimbusds:lang-tag:1.4.4"
85
92
api " com.sun.mail:jakarta.mail:1.6.3"
86
93
api " net.jcip:jcip-annotations:1.0"
87
- api " net.minidev:json-smart:2.4.10 "
94
+ api " net.minidev:json-smart:2.5.1 "
88
95
api " net.minidev:accessors-smart:2.4.2"
89
96
api " org.ow2.asm:asm:8.0.1"
90
97
@@ -103,7 +110,6 @@ dependencies {
103
110
testImplementation(' org.apache.kerby:kerb-crypto:1.1.1' )
104
111
testImplementation(' org.apache.kerby:kerb-util:1.1.1' )
105
112
testImplementation(' org.apache.kerby:token-provider:1.1.1' )
106
- testImplementation(' com.nimbusds:nimbus-jose-jwt:9.23' )
107
113
testImplementation(' net.jcip:jcip-annotations:1.0' )
108
114
testImplementation(' org.apache.kerby:kerb-admin:1.1.1' )
109
115
testImplementation(' org.apache.kerby:kerb-server:1.1.1' )
@@ -225,6 +231,9 @@ tasks.named("thirdPartyAudit").configure {
225
231
' javax.servlet.http.HttpSession' ,
226
232
' javax.servlet.http.HttpUpgradeHandler' ,
227
233
' javax.servlet.http.Part' ,
234
+ ' jakarta.servlet.ServletRequest' ,
235
+ ' jakarta.servlet.http.HttpServletRequest' ,
236
+ ' jakarta.servlet.http.HttpServletResponse' ,
228
237
// [missing classes] Shibboleth + OpenSAML have velocity support that we don't use
229
238
' org.apache.velocity.VelocityContext' ,
230
239
' org.apache.velocity.app.VelocityEngine' ,
@@ -274,112 +283,103 @@ tasks.named("thirdPartyAudit").configure {
274
283
// [missing classes] Http Client cache has optional ehcache support
275
284
' net.sf.ehcache.Ehcache' ,
276
285
' net.sf.ehcache.Element' ,
277
- // Bouncycastle is an optional dependency for apache directory, cryptacular and opensaml packages. We
278
- // acknowledge them here instead of adding bouncy castle as a compileOnly dependency
279
- ' org.bouncycastle.asn1.ASN1Encodable' ,
280
- ' org.bouncycastle.asn1.ASN1InputStream' ,
281
- ' org.bouncycastle.asn1.ASN1Integer' ,
282
- ' org.bouncycastle.asn1.ASN1ObjectIdentifier' ,
283
- ' org.bouncycastle.asn1.ASN1OctetString' ,
284
- ' org.bouncycastle.asn1.ASN1Primitive' ,
285
- ' org.bouncycastle.asn1.ASN1Sequence' ,
286
- ' org.bouncycastle.asn1.ASN1TaggedObject' ,
287
- // 'org.bouncycastle.asn1.DEROctetString',
288
- ' org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo' ,
289
- ' org.bouncycastle.asn1.pkcs.EncryptionScheme' ,
290
- ' org.bouncycastle.asn1.pkcs.KeyDerivationFunc' ,
291
- ' org.bouncycastle.asn1.pkcs.PBEParameter' ,
292
- ' org.bouncycastle.asn1.pkcs.PBES2Parameters' ,
293
- ' org.bouncycastle.asn1.pkcs.PBKDF2Params' ,
294
- ' org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers' ,
295
- ' org.bouncycastle.asn1.pkcs.PrivateKeyInfo' ,
296
- ' org.bouncycastle.asn1.x500.AttributeTypeAndValue' ,
297
- ' org.bouncycastle.asn1.x500.RDN' ,
298
- ' org.bouncycastle.asn1.x500.X500Name' ,
299
- ' org.bouncycastle.asn1.x509.AccessDescription' ,
300
- ' org.bouncycastle.asn1.x509.AlgorithmIdentifier' ,
301
- ' org.bouncycastle.asn1.x509.AuthorityKeyIdentifier' ,
302
- ' org.bouncycastle.asn1.x509.BasicConstraints' ,
303
- ' org.bouncycastle.asn1.x509.DistributionPoint' ,
304
- ' org.bouncycastle.asn1.x509.Extension' ,
305
- ' org.bouncycastle.asn1.x509.GeneralName' ,
306
- ' org.bouncycastle.asn1.x509.GeneralNames' ,
307
- ' org.bouncycastle.asn1.x509.GeneralNamesBuilder' ,
308
- ' org.bouncycastle.asn1.x509.KeyPurposeId' ,
309
- ' org.bouncycastle.asn1.x509.KeyUsage' ,
310
- ' org.bouncycastle.asn1.x509.PolicyInformation' ,
311
- ' org.bouncycastle.asn1.x509.SubjectKeyIdentifier' ,
312
- ' org.bouncycastle.asn1.x509.SubjectPublicKeyInfo' ,
313
- // 'org.bouncycastle.asn1.x9.DomainParameters',
314
- // 'org.bouncycastle.asn1.x9.ECNamedCurveTable',
315
- ' org.bouncycastle.asn1.x9.X9ECParameters' ,
316
- ' org.bouncycastle.cert.X509v3CertificateBuilder' ,
317
- ' org.bouncycastle.cert.jcajce.JcaX509CertificateConverter' ,
318
- ' org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils' ,
319
- ' org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder' ,
320
- ' org.bouncycastle.crypto.BlockCipher' ,
321
- ' org.bouncycastle.crypto.BufferedBlockCipher' ,
322
- ' org.bouncycastle.crypto.CipherParameters' ,
323
- ' org.bouncycastle.crypto.Digest' ,
324
- ' org.bouncycastle.crypto.PBEParametersGenerator' ,
325
- ' org.bouncycastle.crypto.StreamCipher' ,
326
- ' org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator' ,
327
- // 'org.bouncycastle.crypto.ec.CustomNamedCurves',
328
- ' org.bouncycastle.crypto.engines.AESEngine' ,
329
- ' org.bouncycastle.crypto.generators.BCrypt' ,
330
- ' org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator' ,
331
- ' org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator' ,
332
- ' org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator' ,
333
- ' org.bouncycastle.crypto.macs.HMac' ,
334
- ' org.bouncycastle.crypto.modes.AEADBlockCipher' ,
335
- ' org.bouncycastle.crypto.modes.GCMBlockCipher' ,
336
- ' org.bouncycastle.crypto.paddings.BlockCipherPadding' ,
337
- ' org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher' ,
338
- ' org.bouncycastle.crypto.params.AsymmetricKeyParameter' ,
339
- ' org.bouncycastle.crypto.params.DSAKeyParameters' ,
340
- ' org.bouncycastle.crypto.params.DSAParameters' ,
341
- ' org.bouncycastle.crypto.params.DSAPrivateKeyParameters' ,
342
- ' org.bouncycastle.crypto.params.DSAPublicKeyParameters' ,
343
- ' org.bouncycastle.crypto.params.ECDomainParameters' ,
344
- ' org.bouncycastle.crypto.params.ECKeyParameters' ,
345
- ' org.bouncycastle.crypto.params.ECPrivateKeyParameters' ,
346
- ' org.bouncycastle.crypto.params.ECPublicKeyParameters' ,
347
- // 'org.bouncycastle.crypto.params.KDFParameters',
348
- ' org.bouncycastle.crypto.params.KeyParameter' ,
349
- ' org.bouncycastle.crypto.params.RSAKeyParameters' ,
350
- ' org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters' ,
351
- ' org.bouncycastle.crypto.prng.EntropySource' ,
352
- ' org.bouncycastle.crypto.prng.SP800SecureRandom' ,
353
- ' org.bouncycastle.crypto.prng.SP800SecureRandomBuilder' ,
354
- ' org.bouncycastle.crypto.prng.drbg.SP80090DRBG' ,
355
- ' org.bouncycastle.crypto.signers.DSASigner' ,
356
- ' org.bouncycastle.crypto.signers.ECDSASigner' ,
357
- ' org.bouncycastle.crypto.signers.RSADigestSigner' ,
358
- ' org.bouncycastle.crypto.util.PrivateKeyFactory' ,
359
- ' org.bouncycastle.crypto.util.PrivateKeyInfoFactory' ,
360
- ' org.bouncycastle.crypto.util.PublicKeyFactory' ,
361
- ' org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory' ,
362
- ' org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi' ,
363
- ' org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC' ,
364
- ' org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi' ,
365
- ' org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util' ,
366
- ' org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil' ,
367
- // 'org.bouncycastle.jce.ECNamedCurveTable',
368
- // 'org.bouncycastle.jce.spec.ECNamedCurveParameterSpec',
369
- ' org.bouncycastle.math.ec.ECFieldElement' ,
370
- ' org.bouncycastle.math.ec.ECPoint' ,
371
- ' org.bouncycastle.openssl.jcajce.JcaPEMWriter' ,
372
- ' org.bouncycastle.operator.jcajce.JcaContentSignerBuilder' ,
373
- ' org.bouncycastle.util.Arrays' ,
374
- ' org.bouncycastle.util.io.Streams' ,
375
- ' org.bouncycastle.cert.jcajce.JcaX509CertificateHolder' ,
376
- ' org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider' ,
377
- ' org.bouncycastle.cert.X509CertificateHolder' ,
378
- ' org.bouncycastle.openssl.PEMKeyPair' ,
379
- ' org.bouncycastle.openssl.PEMParser' ,
380
- ' org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter' ,
381
- ' org.bouncycastle.crypto.InvalidCipherTextException' ,
382
- ' org.bouncycastle.jce.provider.BouncyCastleProvider' ,
286
+ // Bouncycastle is an optional dependency for apache directory, cryptacular and opensaml packages. We
287
+ // acknowledge them here instead of adding bouncy castle as a compileOnly dependency
288
+ ' org.bouncycastle.asn1.ASN1Encodable' ,
289
+ ' org.bouncycastle.asn1.ASN1InputStream' ,
290
+ ' org.bouncycastle.asn1.ASN1Integer' ,
291
+ ' org.bouncycastle.asn1.ASN1ObjectIdentifier' ,
292
+ ' org.bouncycastle.asn1.ASN1OctetString' ,
293
+ ' org.bouncycastle.asn1.ASN1Primitive' ,
294
+ ' org.bouncycastle.asn1.ASN1Sequence' ,
295
+ ' org.bouncycastle.asn1.ASN1TaggedObject' ,
296
+ // 'org.bouncycastle.asn1.DEROctetString',
297
+ ' org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo' ,
298
+ ' org.bouncycastle.asn1.pkcs.EncryptionScheme' ,
299
+ ' org.bouncycastle.asn1.pkcs.KeyDerivationFunc' ,
300
+ ' org.bouncycastle.asn1.pkcs.PBEParameter' ,
301
+ ' org.bouncycastle.asn1.pkcs.PBES2Parameters' ,
302
+ ' org.bouncycastle.asn1.pkcs.PBKDF2Params' ,
303
+ ' org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers' ,
304
+ ' org.bouncycastle.asn1.pkcs.PrivateKeyInfo' ,
305
+ ' org.bouncycastle.asn1.x500.AttributeTypeAndValue' ,
306
+ ' org.bouncycastle.asn1.x500.RDN' ,
307
+ ' org.bouncycastle.asn1.x500.X500Name' ,
308
+ ' org.bouncycastle.asn1.x509.AccessDescription' ,
309
+ ' org.bouncycastle.asn1.x509.AlgorithmIdentifier' ,
310
+ ' org.bouncycastle.asn1.x509.AuthorityKeyIdentifier' ,
311
+ ' org.bouncycastle.asn1.x509.BasicConstraints' ,
312
+ ' org.bouncycastle.asn1.x509.DistributionPoint' ,
313
+ ' org.bouncycastle.asn1.x509.Extension' ,
314
+ ' org.bouncycastle.asn1.x509.GeneralName' ,
315
+ ' org.bouncycastle.asn1.x509.GeneralNames' ,
316
+ ' org.bouncycastle.asn1.x509.GeneralNamesBuilder' ,
317
+ ' org.bouncycastle.asn1.x509.KeyPurposeId' ,
318
+ ' org.bouncycastle.asn1.x509.KeyUsage' ,
319
+ ' org.bouncycastle.asn1.x509.PolicyInformation' ,
320
+ ' org.bouncycastle.asn1.x509.SubjectKeyIdentifier' ,
321
+ ' org.bouncycastle.asn1.x509.SubjectPublicKeyInfo' ,
322
+ // 'org.bouncycastle.asn1.x9.DomainParameters',
323
+ // 'org.bouncycastle.asn1.x9.ECNamedCurveTable',
324
+ ' org.bouncycastle.asn1.x9.X9ECParameters' ,
325
+ ' org.bouncycastle.cert.X509v3CertificateBuilder' ,
326
+ ' org.bouncycastle.cert.jcajce.JcaX509CertificateConverter' ,
327
+ ' org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils' ,
328
+ ' org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder' ,
329
+ ' org.bouncycastle.crypto.BlockCipher' ,
330
+ ' org.bouncycastle.crypto.BufferedBlockCipher' ,
331
+ ' org.bouncycastle.crypto.CipherParameters' ,
332
+ ' org.bouncycastle.crypto.Digest' ,
333
+ ' org.bouncycastle.crypto.PBEParametersGenerator' ,
334
+ ' org.bouncycastle.crypto.StreamCipher' ,
335
+ ' org.bouncycastle.crypto.agreement.kdf.ConcatenationKDFGenerator' ,
336
+ // 'org.bouncycastle.crypto.ec.CustomNamedCurves',
337
+ ' org.bouncycastle.crypto.generators.BCrypt' ,
338
+ ' org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator' ,
339
+ ' org.bouncycastle.crypto.generators.PKCS5S1ParametersGenerator' ,
340
+ ' org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator' ,
341
+ ' org.bouncycastle.crypto.macs.HMac' ,
342
+ ' org.bouncycastle.crypto.modes.AEADBlockCipher' ,
343
+ ' org.bouncycastle.crypto.paddings.BlockCipherPadding' ,
344
+ ' org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher' ,
345
+ ' org.bouncycastle.crypto.params.AsymmetricKeyParameter' ,
346
+ ' org.bouncycastle.crypto.params.DSAKeyParameters' ,
347
+ ' org.bouncycastle.crypto.params.DSAParameters' ,
348
+ ' org.bouncycastle.crypto.params.DSAPrivateKeyParameters' ,
349
+ ' org.bouncycastle.crypto.params.DSAPublicKeyParameters' ,
350
+ ' org.bouncycastle.crypto.params.ECDomainParameters' ,
351
+ ' org.bouncycastle.crypto.params.ECKeyParameters' ,
352
+ ' org.bouncycastle.crypto.params.ECPrivateKeyParameters' ,
353
+ ' org.bouncycastle.crypto.params.ECPublicKeyParameters' ,
354
+ // 'org.bouncycastle.crypto.params.KDFParameters',
355
+ ' org.bouncycastle.crypto.params.KeyParameter' ,
356
+ ' org.bouncycastle.crypto.params.RSAKeyParameters' ,
357
+ ' org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters' ,
358
+ ' org.bouncycastle.crypto.prng.EntropySource' ,
359
+ ' org.bouncycastle.crypto.prng.SP800SecureRandom' ,
360
+ ' org.bouncycastle.crypto.prng.SP800SecureRandomBuilder' ,
361
+ ' org.bouncycastle.crypto.prng.drbg.SP80090DRBG' ,
362
+ ' org.bouncycastle.crypto.signers.DSASigner' ,
363
+ ' org.bouncycastle.crypto.signers.ECDSASigner' ,
364
+ ' org.bouncycastle.crypto.signers.RSADigestSigner' ,
365
+ ' org.bouncycastle.crypto.util.PrivateKeyFactory' ,
366
+ ' org.bouncycastle.crypto.util.PrivateKeyInfoFactory' ,
367
+ ' org.bouncycastle.crypto.util.PublicKeyFactory' ,
368
+ ' org.bouncycastle.crypto.util.SubjectPublicKeyInfoFactory' ,
369
+ ' org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi' ,
370
+ ' org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC' ,
371
+ ' org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi' ,
372
+ ' org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util' ,
373
+ ' org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil' ,
374
+ // 'org.bouncycastle.jce.ECNamedCurveTable',
375
+ // 'org.bouncycastle.jce.spec.ECNamedCurveParameterSpec',
376
+ ' org.bouncycastle.math.ec.ECFieldElement' ,
377
+ ' org.bouncycastle.math.ec.ECPoint' ,
378
+ ' org.bouncycastle.openssl.jcajce.JcaPEMWriter' ,
379
+ ' org.bouncycastle.operator.jcajce.JcaContentSignerBuilder' ,
380
+ ' org.bouncycastle.util.Arrays' ,
381
+ ' org.bouncycastle.util.io.Streams' ,
382
+ ' org.bouncycastle.cert.X509CertificateHolder' ,
383
383
)
384
384
385
385
ignoreViolations(
@@ -402,26 +402,21 @@ tasks.named("thirdPartyAudit").configure {
402
402
403
403
tasks. named(" thirdPartyAudit" ). configure {
404
404
ignoreMissingClasses(
405
- ' javax.xml.bind.JAXBContext' ,
406
- ' javax.xml.bind.JAXBElement' ,
407
- ' javax.xml.bind.JAXBException' ,
408
- ' javax.xml.bind.Unmarshaller' ,
409
- ' javax.xml.bind.UnmarshallerHandler' ,
410
- // Optional dependency of oauth2-oidc-sdk that we don't need since we do not support AES-SIV for JWE
411
- ' org.cryptomator.siv.SivMode' ,
412
- // Optional dependency of nimbus-jose-jwt for handling Ed25519 signatures and ECDH with X25519 (RFC 8037)
413
- ' com.google.crypto.tink.subtle.Ed25519Sign' ,
414
- ' com.google.crypto.tink.subtle.Ed25519Sign$KeyPair' ,
415
- ' com.google.crypto.tink.subtle.Ed25519Verify' ,
416
- ' com.google.crypto.tink.subtle.X25519' ,
417
- ' com.google.crypto.tink.subtle.XChaCha20Poly1305' ,
418
- ' com.nimbusds.common.contenttype.ContentType' ,
419
- ' javax.activation.ActivationDataFlavor' ,
420
- ' javax.activation.DataContentHandler' ,
421
- ' javax.activation.DataHandler' ,
422
- ' javax.activation.DataSource' ,
423
- ' javax.activation.FileDataSource' ,
424
- ' javax.activation.FileTypeMap'
405
+ ' javax.xml.bind.JAXBContext' ,
406
+ ' javax.xml.bind.JAXBElement' ,
407
+ ' javax.xml.bind.JAXBException' ,
408
+ ' javax.xml.bind.Unmarshaller' ,
409
+ ' javax.xml.bind.UnmarshallerHandler' ,
410
+ // Optional dependency of oauth2-oidc-sdk that we don't need since we do not support AES-SIV for JWE
411
+ ' org.cryptomator.siv.SivMode' ,
412
+ ' com.nimbusds.common.contenttype.ContentType' ,
413
+ ' com.nimbusds.common.contenttype.ContentType$Parameter' ,
414
+ ' javax.activation.ActivationDataFlavor' ,
415
+ ' javax.activation.DataContentHandler' ,
416
+ ' javax.activation.DataHandler' ,
417
+ ' javax.activation.DataSource' ,
418
+ ' javax.activation.FileDataSource' ,
419
+ ' javax.activation.FileTypeMap'
425
420
)
426
421
}
427
422
0 commit comments