Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1
A Swift library providing cryptographic utilities for the AT Protocol.
License
ATProtoKit/ATCryptography
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Cryptographic utilities for the AT Protocol, written in Swift.
This Swift package implements cryptographic operations required by the AT Protocol, using Apple'sswift-crypto and compatible libraries. It's designed to be similar in features as thecrypto package in the officialatproto TypeScript repository.ATCryptography supports the following cryptographic systems:
- "p256," otherwise known as "secp256r1" or "NIST P-256."
- "k256," otherwise known as "secp256k1" or "NIST K-256."
The library provides helpers for key management, signing, verification, hashing, and encoding. These utilities are aligned with AT Protocol’s cryptographic requirements, including low-S signatures, byte representation compression, and string encodings.
For details on cryptography in the AT Protocol, refer to theCryptography section of the specification.
You can use the Swift Package Manager to download and import the library into your project:
dependencies:[.package(url:"https://github.com/ATProtoKit/ATCryptography.git", from:"0.2.0")]
Then undertargets:
targets:[.target( // name: "[name of target]", dependencies:[.product(name:"ATCryptography",package:"atcryptography")])]
ATCryptography is designed to be a server application. For a Linux server, Swift 6.0 or later is required. The minimum requirements include:
- Amazon Linux 2
- Debian 12
- Fedora 39
- Red Hat UBI 9
- Ubuntu 20.04
You can also use it on macOS. Please targetmacOS 13 or later.
If you really need to use it in a client, here are the requirements for each platform:
- iOS andiPadOS 14
- tvOS 14
- visionOS 1
- watchOS 9
You can also use this project for any programs you make using Swift and running onDocker.
Warning
As of right now, Windows support is theoretically possible, but not has not been tested to work. Contributions and feedback on making it fully compatible for Windows and Windows Server are welcomed.
While this project will change significantly, feedback, issues, and contributions are highly welcomed and encouraged. If you'd like to contribute to this project, please be sure to read both theAPI Guidelines as well as theContributor Guidelines before submitting a pull request. Any issues (such as bug reports or feedback) can be submitted in theIssues tab. Finally, if there are any security vulnerabilities, please readSECURITY.md for how to report it.
If you have any questions, you can ask me on Bluesky (@cjrriley.ca). And while you're at it, give me a follow! I'm also active on theBluesky API Touchers Discord server.
This Swift package is using the Apache 2.0 License. Please viewLICENSE.md for more details.
About
A Swift library providing cryptographic utilities for the AT Protocol.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.