|
3 | 3 | using AuthServer.Enums; |
4 | 4 | using AuthServer.Extensions; |
5 | 5 | using Microsoft.EntityFrameworkCore; |
6 | | -using Microsoft.IdentityModel.Tokens; |
7 | | -using System.Security.Cryptography; |
8 | 6 | using AuthServer.Tests.Core; |
9 | 7 | using Microsoft.AspNetCore.Authentication.Cookies; |
10 | 8 | using Microsoft.IdentityModel.Logging; |
11 | 9 | using AuthServer.Options; |
12 | 10 | using AuthServer.Authorize.Abstractions; |
13 | 11 | using AuthServer.Authentication.Abstractions; |
| 12 | +using AuthServer.TestIdentityProvider; |
14 | 13 |
|
15 | 14 | var builder = WebApplication.CreateBuilder(args); |
16 | 15 |
|
|
38 | 37 | options.ProtectedResources = identitySection.GetSection("ProtectedResources").Get<ICollection<string>>() ?? []; |
39 | 38 |
|
40 | 39 | ICollection<string> signingAlgorithms = |
41 | | - [JwsAlgConstants.RsaSha256, JwsAlgConstants.EcdsaSha256, JwsAlgConstants.RsaSsaPssSha256]; |
| 40 | + [JwsAlgConstants.RsaSha256, JwsAlgConstants.RsaSha384, JwsAlgConstants.RsaSha512, |
| 41 | + JwsAlgConstants.EcdsaSha256, JwsAlgConstants.EcdsaSha384, JwsAlgConstants.EcdsaSha512, |
| 42 | + JwsAlgConstants.RsaSsaPssSha256, JwsAlgConstants.RsaSsaPssSha384, JwsAlgConstants.RsaSsaPssSha512]; |
| 43 | + |
42 | 44 | ICollection<string> encryptionAlgorithms = |
43 | | - [JweAlgConstants.EcdhEsA128KW, JweAlgConstants.RsaOAEP, JweAlgConstants.RsaPKCS1]; |
44 | | - ICollection<string> encoderAlgorithms = [JweEncConstants.Aes128CbcHmacSha256]; |
| 45 | + [JweAlgConstants.EcdhEsA128KW, JweAlgConstants.EcdhEsA192KW, JweAlgConstants.EcdhEsA256KW, |
| 46 | + JweAlgConstants.RsaOAEP, JweAlgConstants.RsaPKCS1]; |
| 47 | + |
| 48 | + ICollection<string> encoderAlgorithms = |
| 49 | + [JweEncConstants.Aes128CbcHmacSha256, JweEncConstants.Aes192CbcHmacSha384, JweEncConstants.Aes256CbcHmacSha512]; |
45 | 50 |
|
46 | 51 | options.TokenEndpointAuthSigningAlgValuesSupported = signingAlgorithms; |
47 | 52 | options.IdTokenSigningAlgValuesSupported = signingAlgorithms; |
|
61 | 66 | options.TokenEndpointAuthEncryptionEncValuesSupported = encoderAlgorithms; |
62 | 67 | }); |
63 | 68 |
|
64 | | -var ecdsa = ECDsa.Create(); |
65 | | -var rsa = RSA.Create(3072); |
66 | | - |
67 | | -var ecdsaSecurityKey = new ECDsaSecurityKey(ecdsa) |
68 | | -{ |
69 | | - KeyId = Guid.NewGuid().ToString() |
70 | | -}; |
71 | | -var rsaSecurityKey = new RsaSecurityKey(rsa) |
72 | | -{ |
73 | | - KeyId = Guid.NewGuid().ToString() |
74 | | -}; |
75 | 69 | builder.Services |
76 | 70 | .AddOptions<JwksDocument>() |
77 | 71 | .Configure(options => |
78 | 72 | { |
79 | 73 | options.EncryptionKeys = |
80 | 74 | [ |
81 | | - new JwksDocument.EncryptionKey(ecdsaSecurityKey, EncryptionAlg.EcdhEsA128KW), |
82 | | - new JwksDocument.EncryptionKey(ecdsaSecurityKey, EncryptionAlg.EcdhEsA192KW), |
83 | | - new JwksDocument.EncryptionKey(ecdsaSecurityKey, EncryptionAlg.EcdhEsA256KW), |
84 | | - new JwksDocument.EncryptionKey(rsaSecurityKey, EncryptionAlg.RsaOAEP), |
85 | | - new JwksDocument.EncryptionKey(rsaSecurityKey, EncryptionAlg.RsaPKCS1), |
| 75 | + new JwksDocument.EncryptionKey(SecurityKeyHelper.EcdhEs128, EncryptionAlg.EcdhEsA128KW), |
| 76 | + new JwksDocument.EncryptionKey(SecurityKeyHelper.EcdhEs192, EncryptionAlg.EcdhEsA192KW), |
| 77 | + new JwksDocument.EncryptionKey(SecurityKeyHelper.EcdhEs256, EncryptionAlg.EcdhEsA256KW), |
| 78 | + new JwksDocument.EncryptionKey(SecurityKeyHelper.RsaOAep, EncryptionAlg.RsaOAEP), |
| 79 | + new JwksDocument.EncryptionKey(SecurityKeyHelper.RsaPkcs1, EncryptionAlg.RsaPKCS1), |
86 | 80 | ]; |
87 | 81 | options.SigningKeys = |
88 | 82 | [ |
89 | | - new JwksDocument.SigningKey(ecdsaSecurityKey, SigningAlg.EcdsaSha256), |
90 | | - new JwksDocument.SigningKey(ecdsaSecurityKey, SigningAlg.EcdsaSha384), |
91 | | - new JwksDocument.SigningKey(ecdsaSecurityKey, SigningAlg.EcdsaSha512), |
92 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSha256), |
93 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSha384), |
94 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSha512), |
95 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSsaPssSha256), |
96 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSsaPssSha384), |
97 | | - new JwksDocument.SigningKey(rsaSecurityKey, SigningAlg.RsaSsaPssSha512), |
| 83 | + new JwksDocument.SigningKey(SecurityKeyHelper.Ecdsa256, SigningAlg.EcdsaSha256), |
| 84 | + new JwksDocument.SigningKey(SecurityKeyHelper.Ecdsa384, SigningAlg.EcdsaSha384), |
| 85 | + new JwksDocument.SigningKey(SecurityKeyHelper.Ecdsa512, SigningAlg.EcdsaSha512), |
| 86 | + new JwksDocument.SigningKey(SecurityKeyHelper.CertificateRsa256, SigningAlg.RsaSha256), |
| 87 | + new JwksDocument.SigningKey(SecurityKeyHelper.CertificateRsa384, SigningAlg.RsaSha384), |
| 88 | + new JwksDocument.SigningKey(SecurityKeyHelper.CertificateRsa512, SigningAlg.RsaSha512), |
| 89 | + new JwksDocument.SigningKey(SecurityKeyHelper.RsaSsaPss256, SigningAlg.RsaSsaPssSha256), |
| 90 | + new JwksDocument.SigningKey(SecurityKeyHelper.RsaSsaPss384, SigningAlg.RsaSsaPssSha384), |
| 91 | + new JwksDocument.SigningKey(SecurityKeyHelper.RsaSsaPss512, SigningAlg.RsaSsaPssSha512) |
98 | 92 | ]; |
99 | 93 |
|
100 | 94 | options.GetTokenSigningKey = |
|
0 commit comments