2
3
Fork
You've already forked zig-keychain
1
Wrapper library for accessing operating system key chains.
zig
  • Zig 83.4%
  • Objective-C 16.6%
2026年03月23日 17:02:46 +01:00
.idea chore[clion]: update project configuration to version 0.2.0 and adjust module imports 2026年03月22日 15:32:17 +01:00
src refactor: update to Zig 0.16.0-dev.2962+08416b44f 2026年03月23日 17:02:46 +01:00
.gitignore feat: add label support 2026年03月10日 16:30:46 +01:00
build.zig turn xcode_frameworks into an optional dependency 2026年03月15日 11:25:11 +01:00
build.zig.zon refactor: update to Zig 0.16.0-dev.2962+08416b44f 2026年03月23日 17:02:46 +01:00
LICENSE chore: add MIT license 2026年02月11日 15:51:03 +01:00
readme.md refactor: replace createAccount with updateAccount to allow both creation and updates, update related docs and tests 2026年03月22日 15:31:59 +01:00

Zig-Keychain

Access credential stores from Zig.

The library provides a constant interface for accessing different credential storage systems. Currently, the only real implementation is for the macOS KeyChain, but Linux- and Windows-specific implementations are planned. For the time being, a simple plain-text file implementation is provided as a fallback and for testing.

Scopes

All keychain instances require a scope. The scope is stored on every user account and server. Each application should use a unique scope to avoid conflicts with other applications.

Progress

Function macOS KeyChain Plain Text Windows
kc.updateAccount
kc.deleteAccount
kc.getPasssword
kc.setPasssword
kc.getLabel
kc.setLabel
kc.getServers
kc.getUsers
kc.createKeyPair
kc.deleteKeyPair
kc.getPublicKey
kc.encrypt
kc.decrypt
kc.sign
kc.verify

See the full interface in src/KeyChain.zig. See usage examples in src/root.zig.