https://github.com/gematik/zero-lab-apple
A repository focused on creating experimental Zero Trust client applications specifically for Apple platforms, including macOS and iOS. This project emphasizes secure, efficient, and effective implementation of Zero Trust principles tailored to Apple's ecosystem.
https://github.com/gematik/zero-lab-apple
dsr idm poc
Last synced: 8 months ago
JSON representation
A repository focused on creating experimental Zero Trust client applications specifically for Apple platforms, including macOS and iOS. This project emphasizes secure, efficient, and effective implementation of Zero Trust principles tailored to Apple's ecosystem.
- Host: GitHub
- URL: https://github.com/gematik/zero-lab-apple
- Owner: gematik
- Created: 2024-02-26T13:35:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-26T15:45:27.000Z (over 1 year ago)
- Last Synced: 2025-01-01T12:44:22.172Z (9 months ago)
- Topics: dsr, idm, poc
- Language: Swift
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 11
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
README
= 🤝🔐 Experimental Zero Trust Client for Apple devices
This implementation is based on https://dsr.gematik.solutions/[DSR PoC]. The code has been rewritten with following goals in mind:
* Minimum dependencies
* CryptoKit support
* Support for both MTLS and JOSE based client identities
* Multi-client support to have several Trust Clients in one App.Usage example
[source,swift]
----
client = try TrustClient(regURL: URL(string: "https://zerobin.spilikin.dev")!)
let certificate = try await client.updateMTLSCertificate()
let urlSession = try client.makeMTLSURLSession()
let (data, response) = try await urlSession.data(from: URL(string: "https://zerobin.spilikin.dev/echo")!)
if let data, let string = String(data: data, encoding: .utf8) {
print(string)
}
----