Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: allow JWT header field type to be different then JWT #23

Merged
merged 1 commit into from
May 31, 2024

fix: allow JWT header field type to be different then JWT

ed84a72
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

fix: allow JWT header field type to be different then JWT #23

fix: allow JWT header field type to be different then JWT
ed84a72
Select commit
Loading
Failed to load commit list.
GitHub Actions / Xcode test results succeeded May 31, 2024 in 0s

Xcode test results

Testing workspace jose-swift with scheme jose-swift-Package

Summary

TotalSuccess PassedFailure FailedSkipped SkippedExpected Failure Expected Failure⏱️ Time
909000028.56s

Test Summary

JWATests

  • Device: Mac mini, 13.6.7 (22G720)
  • SDK: macOS 14.0, 14.0
TestTotalSuccessFailureSkippedExpected Failure
test-class C20PTests11000
test-class EdDSATests11000
test-class Secp256k1Tests88000

JWETests

  • Device: Mac mini, 13.6.7 (22G720)
  • SDK: macOS 14.0, 14.0
TestTotalSuccessFailureSkippedExpected Failure
test-class AESTests66000
test-class DirectTests11000
test-class ECDH1PUTests66000
test-class ECDHESTests33000
test-class PBES2Tests44000
test-class RFC7516Tests44000
test-class RFC7520Tests1212000
test-class RSATests22000

JWKTests

  • Device: Mac mini, 13.6.7 (22G720)
  • SDK: macOS 14.0, 14.0
TestTotalSuccessFailureSkippedExpected Failure
test-class JWKThumbprintTests11000

JWSTests

  • Device: Mac mini, 13.6.7 (22G720)
  • SDK: macOS 14.0, 14.0
TestTotalSuccessFailureSkippedExpected Failure
test-class JWSJsonTests77000
test-class JWSTests1414000
test-class RFC7515Tests1010000

JWTTests

  • Device: Mac mini, 13.6.7 (22G720)
  • SDK: macOS 14.0, 14.0
TestTotalSuccessFailureSkippedExpected Failure
test-class JWTTests1010000

Failure Failures

All tests passed 🎉


Code Coverage

Coverage Covered Executable
JWATests 66.55 % 2181 3277
  P521+KeyAgreement.swift 0.00 % 0 6
  AESCBC_SHA512+ContentEncryptor.swift 88.89 % 48 54
  ES256Verifier.swift 62.50 % 10 16
  ES256KVerifier.swift 87.50 % 42 48
  PS256Verifier.swift 0.00 % 0 30
  ES256Signer.swift 85.71 % 6 7
  AESGCM+KeyUnwrap.swift 85.00 % 17 20
  PS256Signer.swift 0.00 % 0 24
  RS256Verifier.swift 76.92 % 10 13
  DataKey.swift 31.37 % 32 102
  JWKCryptoPresentation.swift 77.92 % 60 77
  ECDHES.swift 90.00 % 9 10
  ES256KSigner.swift 93.94 % 31 33
  HelperExtensions.swift 83.33 % 10 12
  PS384Verifier.swift 0.00 % 0 30
  ECDH1PU+KeyAgreementZ.swift 90.91 % 10 11
  MockKeyAgreementZ.swift 0.00 % 0 3
  RS384Verifier.swift 0.00 % 0 13
  MockedSigner.swift 0.00 % 0 3
  HS384Verifier.swift 0.00 % 0 6
  HS256Verifier.swift 83.33 % 5 6
  Zip+ContentCompressor.swift 100.00 % 6 6
  RSA+Security.swift 0.00 % 0 19
  RS256Signer.swift 85.00 % 17 20
  ContentCompressionAlgorithm.swift 100.00 % 12 12
  MockKeyDerivation.swift 0.00 % 0 3
  PS384Signer.swift 0.00 % 0 24
  ECDHES+KeyAgreementZ.swift 100.00 % 3 3
  secp256k1+KeyGeneration.swift 0.00 % 0 19
  ES256KTests.swift 100.00 % 194 194
  secp256k1+KeyAgreement.swift 0.00 % 0 6
  JWK+KeyAgreement.swift 80.77 % 21 26
  ECDH1PU.swift 93.33 % 28 30
  PBE2_SHA256_A128KW+KeyEncryption.swift 86.67 % 13 15
  Base64URL.swift 100.00 % 25 25
  PS512Signer.swift 0.00 % 0 24
  MockContentEncryptor.swift 0.00 % 0 9
  AES128GCM+KeyEncryption.swift 95.45 % 21 22
  Curve25519+KeyAgreement.swift 100.00 % 6 6
  PBE2_SHA512_A256KW+KeyEncryption.swift 86.67 % 13 15
  AESKeyUnwrap+KeyUnwrap.swift 90.91 % 10 11
  RS512Verifier.swift 0.00 % 0 13
  AESGCM.swift 100.00 % 20 20
  SecKeyExtended.swift 51.49 % 69 134
  P256+KeyAgreement.swift 100.00 % 6 6
  AES128GCM+ContentEncryptor.swift 87.80 % 36 41
  RS384Signer.swift 0.00 % 0 13
  KeyDerivation.swift 100.00 % 126 126
  JWTCodable.swift 100.00 % 11 11
  EdDSASigner.swift 83.33 % 5 6
  AESCBC_SHA256+ContentEncryptor.swift 88.89 % 48 54
  PS512Verifier.swift 0.00 % 0 30
  ES521Verifier.swift 62.50 % 10 16
  ConcatKDF.swift 90.67 % 68 75
  RS512Signer.swift 0.00 % 0 13
  RSA15KeyWrapper+KeyEncryption.swift 81.58 % 31 38
  SigningAlgorithm.swift 70.83 % 51 72
  P384+KeyGeneration.swift 36.84 % 7 19
  RSAOAEP256KeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  HS512Verifier.swift 0.00 % 0 6
  PBE2_SHA384_A192KW+KeyEncryption.swift 86.67 % 13 15
  KeyRepresentable.swift 16.00 % 4 25
  ECDH1PU+KeyDerivation.swift 81.82 % 27 33
  RSAOAEP256KeyWrap+KeyEncryption.swift 81.58 % 31 38
  MockedVerifier.swift 0.00 % 0 3
  ES384Verifier.swift 0.00 % 0 16
  ES521Signer.swift 85.71 % 6 7
  KeyEncryptionAlgorithm.swift 94.37 % 134 142
  JWK+KeyGeneration.swift 70.59 % 24 34
  EdDSATests.swift 100.00 % 15 15
  XC20PTests.swift 100.00 % 23 23
  ContentEncryptionAlgorithm.swift 96.30 % 52 54
  PBES2SHA.swift 96.15 % 25 26
  JWKRepresentable.swift 49.41 % 125 253
  ES384Signer.swift 85.71 % 6 7
  HS256Signer.swift 0.00 % 0 6
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  XC20P+ContentEncryption.swift 88.00 % 44 50
  MockKeyEncryption.swift 0.00 % 0 6
  Curve25519+KeyGeneration.swift 36.84 % 7 19
  AES192GCM+ContentEncryptor.swift 87.80 % 36 41
  SecureRandom.swift 65.00 % 13 20
  ECDHES+KeyDerivation.swift 83.87 % 26 31
  AESCBC_SHA384+ContentEncryptor.swift 0.00 % 0 54
  AES256GCM+ContentEncryptor.swift 87.80 % 36 41
  EdDSAVerifier.swift 83.33 % 5 6
  P256+KeyGeneration.swift 36.84 % 7 19
  RSA15KeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  HS384Signer.swift 0.00 % 0 6
  P384+KeyAgreement.swift 100.00 % 6 6
  AESCBC_SHA.swift 98.11 % 52 53
  AES192GCM+KeyEncryption.swift 95.45 % 21 22
  AES256GCM+KeyEncryption.swift 95.45 % 21 22
  RSAOAEPKeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  P521+KeyGeneration.swift 0.00 % 0 19
  DataRepresentable.swift 31.03 % 9 29
  RSAOAEPKeyWrap+KeyEncryption.swift 81.58 % 31 38
  AESKeyWrap+KeyEncryption.swift 81.82 % 18 22
  JWK+Testing.swift 28.57 % 8 28
  HS512Signer.swift 0.00 % 0 6
  ContentEncryptor.swift 75.00 % 42 56
  KeyWrapping.swift 28.13 % 36 128
JWETests 90.37 % 5094 5637
  AESEncryptor.swift 92.05 % 139 151
  ECDHESTests.swift 100.00 % 111 111
  PBES2Tests.swift 100.00 % 151 151
  JWE+Json.swift 79.55 % 70 88
  JWERegisteredFieldsHeader+Helpers.swift 97.50 % 78 80
  JWE.swift 94.44 % 34 36
  RFC7520Tests.swift 100.00 % 1151 1151
  RSAEncrypter.swift 89.00 % 89 100
  HelperExtensions.swift 83.33 % 10 12
  MultiEncryptor.swift 93.75 % 90 96
  ECDH1PUDecryptor.swift 89.87 % 213 237
  JWEParts.swift 100.00 % 22 22
  JWE+Decrypt.swift 54.42 % 80 147
  KeyManagementAlgorithm+Family.swift 93.75 % 15 16
  RFC7516Tests.swift 100.00 % 299 299
  AESTests.swift 100.00 % 198 198
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  PasswordBasedEncrypter.swift 83.13 % 133 160
  MultiDecryptor.swift 43.70 % 59 135
  DirectTests.swift 100.00 % 33 33
  JWEDecryptor.swift 76.62 % 59 77
  JWE+Encrypt.swift 77.40 % 161 208
  JWEHelpers.swift 94.74 % 54 57
  ECDH1PUEncrypter.swift 89.32 % 276 309
  JWEEncryptionModule.swift 93.75 % 30 32
  RSATests.swift 100.00 % 210 210
  JWK+Testing.swift 42.86 % 12 28
  JWTCodable.swift 100.00 % 11 11
  ECDHDecryptor.swift 89.71 % 183 204
  DataRepresentable.swift 31.03 % 9 29
  ECDHEncrypter.swift 89.12 % 213 239
  DefaultJWEHeaderImpl+Codable.swift 97.59 % 81 83
  ECDH1PUTests.swift 100.00 % 223 223
  PasswordBasedDecryptor.swift 85.96 % 98 114
  JWEEncrypter.swift 46.15 % 18 39
  JWERegisteredFieldsHeader.swift 100.00 % 103 103
  AAD.swift 68.42 % 39 57
  DirectDecryptor.swift 84.62 % 55 65
  Base64URL.swift 100.00 % 25 25
  RSADecryptor.swift 85.39 % 76 89
  DirectEncrypter.swift 88.00 % 66 75
  AESDecryptor.swift 86.82 % 112 129
JWKTests 77.22 % 200 259
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  JWK+Codable.swift 91.89 % 68 74
  JWKSet.swift 0.00 % 0 26
  DataRepresentable.swift 31.03 % 9 29
  Base64URL.swift 100.00 % 25 25
  JWTCodable.swift 100.00 % 11 11
  JWKThumbprintTests.swift 100.00 % 10 10
  JWK.swift

Details

Test Details

JWATestsback

C20PTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testC20PCycle()

EdDSATests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testEdDSACycle()

Secp256k1Tests back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testNotNormalizedBouncyCastleSignatureValidation()
Successtest-method testSecp256k1BouncyCastleSignatureVerify()
Successtest-method testSecp256k1BouncyCastleSignatureVerifyFailIfFeatureNotActive()
Successtest-method testSecp256k1Cycle()
Successtest-method testSecp256k1CycleDerSignature()
Successtest-method testSecp256k1CycleInvertedRS()
Successtest-method testSecp256k1JSLibrarySignatureVerifyFailIfFeatureNotActive()
Successtest-method testSecp256k1SignatureFromJSLibrary()

JWETestsback

AESTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testAES128Cycle()
Successtest-method testAES128GCMCycle()
Successtest-method testAES192Cycle()
Successtest-method testAES192GCMCycle()
Successtest-method testAES256Cycle()
Successtest-method testAES256GCMCycle()

DirectTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testDirectCycle()

ECDH1PUTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testECDH1PUA128KWCycle()
Successtest-method testECDH1PUA192KWCycle()
Successtest-method testECDH1PUA256KW_C20PKWCycle()
Successtest-method testECDH1PUA256KWCurve25519Cycle()
Successtest-method testECDH1PUA256KWCycle()
Successtest-method testECDH1PUCycle()

ECDHESTests back

SuccessFailureSkippedExpected Failure⏱️
3 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testECDHESA256KW_C20PKWCycle()
Successtest-method testECDHESA256KWCycle()
Successtest-method testECDHESCycle()

PBES2Tests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)28.31s
Successtest-method testJWEPBES2_HS512_A256KW()
Successtest-method testPBES2_HS256_A128KW()
Successtest-method testPBES2_HS384_A192KW()
Successtest-method testPBES2_HS512_A256KW()

RFC7516Tests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)0.06s
Successtest-method testA_1_7()
Successtest-method testA_1()
Successtest-method testA_3()
Successtest-method testA_4()

RFC7520Tests back

SuccessFailureSkippedExpected Failure⏱️
12 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testSection_5_10()
Successtest-method testSection_5_11()
Successtest-method testSection_5_12()
Successtest-method testSection_5_13()
Successtest-method testSection_5_1()
Successtest-method testSection_5_2()
Successtest-method testSection_5_4()
Successtest-method testSection_5_5()
Successtest-method testSection_5_6()
Successtest-method testSection_5_7()
Successtest-method testSection_5_8()
Successtest-method testSection_5_9()

RSATests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.16s
Successtest-method testRSAOAEP256Cycle()
Successtest-method testRSAOAEPCycle()

JWKTestsback

JWKThumbprintTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_RFC8037_Appendix_A_3()

JWSTestsback

JWSJsonTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testJsonSerializationOneKeyES256_OtherES521()
Successtest-method testJsonSerializationOneKeyOnlyEdDSA()
Successtest-method testJsonSerializationOneKeyOnlyES256()
Successtest-method testJsonSerializationTrueES256Verification_FailES521VerificationWithRandomKey()
Successtest-method testJsonSerializationTwoKeysES256()
Successtest-method testJsonSerializationVerificationFalseWhenKeyHasNoKid()
Successtest-method testJsonSerializationVerificationTrueWhenKeyIsValidWithoutKidAndValidateAllTrue()

JWSTests back

SuccessFailureSkippedExpected Failure⏱️
14 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testAutomaticHeaderAlgorithmES256()
Successtest-method testAutomaticHeaderAlgorithmES256K()
Successtest-method testAutomaticHeaderAlgorithmES384()
Successtest-method testAutomaticHeaderAlgorithmES521()
Successtest-method testEdDSASigningWithDataKey()
Successtest-method testES256KSigningWithDataKey()
Successtest-method testES256SigningWithDataKey()
Successtest-method testES256SigningWithSecKey()
Successtest-method testES384SigningWithDataKey()
Successtest-method testES512SigningWithDataKey()
Successtest-method testJWSTamperedAlgorithm()
Successtest-method testJWSTamperedHeader()
Successtest-method testJWSTamperedPayload()
Successtest-method testWrongAlgKeySigningWithDataKey()

RFC7515Tests back

SuccessFailureSkippedExpected Failure⏱️
10 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testJWS_RFC7515_A1_2()
Successtest-method testJWS_RFC7515_A2_1_1()
Successtest-method testJWS_RFC7515_A2_1()
Successtest-method testJWS_RFC7515_A3_1_1()
Successtest-method testJWS_RFC7515_A3_1()
Successtest-method testJWS_RFC7515_A4_1_1()
Successtest-method testJWS_RFC7515_A4_1()
Successtest-method testJWS_RFC7515_A5()
Successtest-method testJWS_RFC7515_A6()
Successtest-method testJWS_RFC7515_A7()

JWTTestsback

JWTTests back

SuccessFailureSkippedExpected Failure⏱️
10 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testClaims()
Successtest-method testEmptyClaims()
Successtest-method testFailAudienceValidation()
Successtest-method testFailExpirationValidation()
Successtest-method testFailIssuedAtValidation()
Successtest-method testFailIssuerValidation()
Successtest-method testFailNotBeforeValidation()
Successtest-method testParseSignedJWT()
Successtest-method testSignAndVerify()
Successtest-method testSingleClaim()