Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
396e14d
Working tefca_ias authorization extension object from V 2.0 of SOP-Fa…
Mar 22, 2026
f1951d1
Update package refs
Mar 23, 2026
bdf0a0d
remove obsolete ial_vetted
Mar 23, 2026
7dc7755
Adding TEFCA Like Test certificates
Mar 28, 2026
4d532d4
Add community-specific validation plugin architecture for TEFCA regis…
Mar 28, 2026
7515bb2
Ensure IAS based registration includes a tefca_ias AEO
Mar 29, 2026
b7aa30f
Allow any community name to be mapped to the Tefca* validators
Mar 29, 2026
da51c96
Refactor registration and token validators for AEOs
Mar 30, 2026
7dd9826
ServerSettings.cs — Removed AuthorizationExtensionsRequired, ClientCr…
Mar 30, 2026
bea9ae0
Create migration-to-openiddict.md
Mar 30, 2026
33c70fb
Fixup UdapCertificationsSupported and UdapCertificationsRequired prop…
Mar 30, 2026
f5fc503
Fixup some settings that should not have been removed.
Mar 30, 2026
7ad4337
remove purpose_of_use from tefca_ias
Mar 31, 2026
5020aed
Minor TEFCA Mock Cert change
Mar 31, 2026
9269511
Allow additional claims on the Certifications and Endorsement
Mar 31, 2026
05f01ba
Allow additional claims on the Certifications and Endorsement
Mar 31, 2026
e8a23dd
Allow access token request to include intermediate certificates
JoeShook Apr 1, 2026
a5b3628
Include documentation files
JoeShook Apr 2, 2026
a109ebe
Update BuildTestCerts.cs
JoeShook Apr 3, 2026
fa2f157
Creating a new CA tool. Removing the Udap.CA tool
JoeShook Apr 10, 2026
8b7bd05
CA wip
JoeShook Apr 10, 2026
4eaa66c
CA wip
JoeShook Apr 10, 2026
12c7d62
CA wip
JoeShook Apr 10, 2026
094673b
CA wip
JoeShook Apr 11, 2026
ee8fdbe
CA wip
JoeShook Apr 11, 2026
9c0b184
CA wip
JoeShook Apr 12, 2026
378400d
CA wip
JoeShook Apr 12, 2026
4cc7f06
CA wip
JoeShook Apr 12, 2026
f003d1a
CA wip
JoeShook Apr 12, 2026
c760782
CA wip
JoeShook Apr 12, 2026
54cef91
CA wip
JoeShook Apr 12, 2026
409839b
CA wip
JoeShook Apr 12, 2026
1f8156c
CA with HashiCorp Transit integration
JoeShook Apr 12, 2026
af5a915
Root CA issued in HashiCorp Vault Transit
JoeShook Apr 12, 2026
53159ef
CA delete from Vault Transit
JoeShook Apr 13, 2026
ffe9da9
Sign and gen external P12 end cert from Vault Transit Intermediate.
JoeShook Apr 13, 2026
c50938a
CA Readme
JoeShook Apr 13, 2026
72fd213
CA config to make it easier to connect to GCP.
JoeShook Apr 14, 2026
4dd3302
Refactor and first tests added
JoeShook Apr 15, 2026
67dd2a4
Modernize README with badges, collapsible sections, and updated featu…
JoeShook Apr 18, 2026
63f999a
Update documentation across all package and example READMEs
JoeShook Apr 18, 2026
63aa638
Sigil Phase 3-4: Hangfire job scheduler, CRL generation, publishing p…
JoeShook Apr 18, 2026
a8e050a
Bump dotnet-sdk from 10.0.104 to 10.0.202
dependabot[bot] Apr 20, 2026
19bf7cf
Add certificate revocation, Community BaseUrl, and re-key fixes
JoeShook Apr 23, 2026
f1cf183
Bump the nuget group with 2 updates
dependabot[bot] Apr 23, 2026
93b0987
Merge pull request #822 from JoeShook/dependabot/nuget/examples/Udap.…
JoeShook Apr 26, 2026
4214236
Merge pull request #820 from JoeShook/dependabot/dotnet_sdk/develop/d…
JoeShook Apr 26, 2026
10b4ce9
Bump the nuget group with 2 updates
dependabot[bot] Apr 26, 2026
49647ed
wip
JoeShook Apr 27, 2026
13f8460
Merge branch 'develop' of https://github.com/JoeShook/udap-dotnet int…
JoeShook Apr 27, 2026
9c5e176
CRLs and AIA published auto and manual
JoeShook Apr 27, 2026
65227a7
Add mutiple signing algorithms
JoeShook Apr 29, 2026
96871b4
Add Similar button, AutoRenew flag, cross-algorithm signing, and UX i…
JoeShook Apr 29, 2026
cf845fb
Add settings menu with UTC/Local timezone toggle persisted to localSt…
JoeShook Apr 29, 2026
b8769db
Merge pull request #823 from JoeShook/dependabot/nuget/examples/Udap.…
JoeShook Apr 29, 2026
078acd2
fix breaking builds
JoeShook Apr 29, 2026
06a5b08
Remove stale Udap.CA path reference from PKI generator test
JoeShook Apr 29, 2026
7211c0d
Remove CA Test. App does not exist
JoeShook Apr 29, 2026
3122ef9
Update README.md
JoeShook Apr 29, 2026
932e8c6
Merge pull request #819 from JoeShook/develop
JoeShook Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.CdsHooks.Model/Udap.CdsHooks.Model.csproj

dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Tefca.Model/Udap.Tefca.Model.csproj
dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Tefca.Server/Udap.Tefca.Server.csproj

dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Ssraa.Server/Udap.Ssraa.Server.csproj

- name: Push
run: |
Expand All @@ -61,3 +64,6 @@ jobs:
dotnet nuget push ./Udap.CdsHooks.Model/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}

dotnet nuget push ./Udap.Tefca.Model/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}
dotnet nuget push ./Udap.Tefca.Server/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}

dotnet nuget push ./Udap.Ssraa.Server/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}
10 changes: 8 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.CdsHooks.Model/Udap.CdsHooks.Model.csproj

dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Tefca.Model/Udap.Tefca.Model.csproj
dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Tefca.Server/Udap.Tefca.Server.csproj

dotnet pack -v normal -c Release --include-source -p:PackageVersion=${VERSION} ./Udap.Ssraa.Server/Udap.Ssraa.Server.csproj

- name: Push
run: |
Expand All @@ -61,6 +64,9 @@ jobs:
dotnet nuget push ./Udap.CdsHooks.Model/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}

dotnet nuget push ./Udap.Tefca.Model/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}


dotnet nuget push ./Udap.Tefca.Server/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}

dotnet nuget push ./Udap.Ssraa.Server/bin/Release/*.symbols.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}



1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -226,3 +226,4 @@ examples/clients/UdapEd/Client/wwwroot/temp/MudBlazor.min.css
/examples/Udap.Proxy.Server/CertStore/issued/gfhirlabs.healthcare.client.pfx
/coverage-results
/.claude
docs/specifications/SSRAA/V2.0.0/ssraa_full-ig_v2.0.0.zip
5 changes: 5 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ builder.Services.AddAuthentication().AddTieredOAuth(options => { ... });
- **Udap.Proxy.Server** - YARP-based reverse proxy to secure existing FHIR servers with UDAP
- **Udap.Identity.Provider / Udap.Identity.Provider.2** - Tiered OAuth IdP examples
- **Udap.CA** - Web UI for generating UDAP certificates
- **Sigil** (`examples/CA/`) - Modern PKI management tool (Blazor Server + FluentUI v4 + PostgreSQL). Three projects: `Sigil` (host), `Sigil.Common` (services/entities, no UI deps), `Sigil.UI` (Razor Class Library). See [`examples/CA/Sigil/docs/FEATURES.md`](examples/CA/Sigil/docs/FEATURES.md) for full feature list and [`examples/CA/ROADMAP.md`](examples/CA/ROADMAP.md) for planned phases.

### Test Projects (`/_tests`)

Expand All @@ -134,3 +135,7 @@ builder.Services.AddAuthentication().AddTieredOAuth(options => { ... });
- **YARP 2.1.0** - Reverse proxy (for proxy examples)

Package versions are centrally managed in `Directory.Packages.props`.

## Specifications

- **UDAP.org** is the base specification for this SDK. All 7 specs are in `docs/specifications/UDAP.org/` (see `README.md` there for index). SSRAA and TEFCA are profiles layered on top of UDAP.org.
42 changes: 26 additions & 16 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.SqlClient" Version="1.15.0" />
<PackageVersion Include="Hangfire.Core" Version="1.8.20" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.20" />
<PackageVersion Include="Hangfire.PostgreSql" Version="1.20.10" />
<PackageVersion Include="Serilog.AspNetCore" Version="10.0.0" />
<PackageVersion Include="Serilog.Enrichers.Thread" Version="4.0.0" />
<PackageVersion Include="Spectre.Console" Version="0.54.0" />
Expand All @@ -43,19 +46,26 @@
<PackageVersion Include="Yarp.ReverseProxy" Version="2.3.0" />
<PackageVersion Include="ZiggyCreatures.FusionCache" Version="2.5.0" />

<!-- UDAP AI CLI -->
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.74.0" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureOpenAI" Version="1.74.0" />
<PackageVersion Include="Terminal.Gui" Version="2.0.0-develop.5203" />

<!-- Unconditional: Hl7.Fhir 6.x requires Extensions.Caching.Memory 10.x which cascades to require
these at >= 10.0.1 for all TFMs. Duende.IdentityServer.Storage 7.4.6 requires
DataProtection.Abstractions >= 10.0.0 for all TFMs. -->
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.3" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.4" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.4" />
<PackageVersion Include="Microsoft.Bcl.Memory" Version="10.0.5" />
</ItemGroup>

Expand All @@ -82,12 +92,12 @@

<!-- net10.0 runtime-versioned packages -->
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.3" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="10.0.3" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.3" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.3" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.3" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.3" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.4" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="10.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.4" />
</ItemGroup>

</Project>
5 changes: 4 additions & 1 deletion Dockerfile.gcp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# docker build -t udap-gcp -f Dockerfile.gcp .
#
# Run interactively (first time — creates named volume for gcloud creds):
# docker run -it --name udap-gcp -v udap-gcloud-config:/root/.config/gcloud udap-gcp
# docker run -it --name udap-gcp -v udap-gcloud-config:/root/.config/gcloud -v C:\temp\_GCP:/output udap-gcp
#
# Re-enter after stopping:
# docker start -ai udap-gcp
Expand Down Expand Up @@ -52,6 +52,9 @@ COPY ["Udap.Smart.Model/Udap.Smart.Model.csproj", "Udap.Smart.Model/"]
COPY ["Udap.Smart.Metadata/Udap.Smart.Metadata.csproj", "Udap.Smart.Metadata/"]
COPY ["Udap.CdsHooks.Model/Udap.CdsHooks.Model.csproj", "Udap.CdsHooks.Model/"]
COPY ["Udap.CdsHooks.Endpoint/Udap.CdsHooks.Endpoint.csproj", "Udap.CdsHooks.Endpoint/"]
COPY ["Udap.Tefca.Model/Udap.Tefca.Model.csproj", "Udap.Tefca.Model/"]
COPY ["Udap.Tefca.Server/Udap.Tefca.Server.csproj", "Udap.Tefca.Server/"]
COPY ["Udap.Ssraa.Server/Udap.Ssraa.Server.csproj", "Udap.Ssraa.Server/"]
# -- Examples --
COPY ["examples/FhirLabsApi/FhirLabsApi.csproj", "examples/FhirLabsApi/"]
COPY ["examples/Udap.Auth.Server/Udap.Auth.Server.csproj", "examples/Udap.Auth.Server/"]
Expand Down
Loading
Loading