Show HN: Signum – Kotlin Multiplatform Cryptography and PKI Library
a year ago
- #Kotlin Multiplatform
- #Cryptography
- #ASN.1
- Multiplatform, platform-native crypto with CMP demo App
- Supports ECDSA and RSA Signer and Verifier
- Multiplatform ECDH key agreement
- Hardware-Backed crypto on Android and iOS
- Platform-native attestation on iOS and Android
- Configurable biometric authentication on Android and iOS
- Multiplatform AES and HMAC
- Public and Private Keys (RSA and EC)
- Algorithm Identifiers for Signatures and Hashing
- X509 Certificate Class (create, encode, decode)
- Certification Request (CSR)
- ObjectIdentifier Class with human-readable notation
- Generic ASN.1 abstractions for arbitrary ASN.1 Data
- JOSE-related data structures (JSON Web Keys, JWT, etc.)
- COSE-related data structures (COSE Keys, CWT, etc.)
- Serializability of all ASN.1 classes for debugging
- 100% pure Kotlin BitSet
- Multibase Encoder/Decoder including Base16, Base32, Base64
- ASN.1 Parser and Encoder with DSL for ASN.1 structures
- Parse, create, explore certificates, public keys, CSRs
- Powerful, expressive, type-safe ASN.1 DSL on all KMP targets
- Library built for Kotlin Multiplatform (JVM, Android, iOS)
- Four modules published on Maven Central
- Comparison with cryptography-kotlin highlighting different goals
- Focus on tight platform integration and comprehensive ASN.1, JOSE, COSE support
- Hardware-backed crypto and attestation capabilities
- Detailed comparison table between Signum and cryptography-kotlin
- Examples of creating and verifying signatures
- Symmetric encryption support (ChaCha20-Poly1305, AES)
- ASN.1 engine capabilities and examples
- External contributions guidelines and licensing information
- Funding acknowledgment from the European Union’s Digital Europe Programme