---
title: "onecrypto docs"
url: https://recursiveai.org/onecrypto/docs/
description: "Everything about OneCrypto: getting started, loading keys and certificates, CMS, X.509 and issuing, the primitives .NET lacks, and how each is checked.…"
version: "0.1.0-preview.1"
---

# onecrypto docs

Everything about OneCrypto: getting started, loading keys and certificates, CMS, X.509 and issuing, the primitives .NET lacks, and how each is checked. OneCrypto is a preview, 0.1.0-preview.1, and has not been independently audited.

## Start

- [Getting started](https://recursiveai.org/onecrypto/docs/getting-started/index.md): Install OneCrypto 0.1.0-preview.1 for .NET 10, load a key and certificate file with one call, and sign and verify with the key. OneCrypto is cryptography…
- [Overview](https://recursiveai.org/onecrypto/docs/overview/index.md): Cryptography (not cryptocurrency) for .NET: message formats, certificates and the primitives the platform lacks, written from the specifications on the…
- [Docs map](https://recursiveai.org/onecrypto/docs/docs-map/index.md): Normative, language-neutral notes on behaviour: verification semantics, policy presets, resource limits and the methods behind the tests and benchmarks.
- [Platform availability](https://recursiveai.org/onecrypto/docs/availability/index.md): What each algorithm resolves to on each platform. The library asks the platform's cryptography first. Where the platform lacks an algorithm and the…

## Keys and files

- [Loading key and certificate files](https://recursiveai.org/onecrypto/docs/load/index.md): Behaviour of RecursiveAI.OneCrypto.Crypto.Load, LoadAsync and TryLoad. The loader only decides which parser to call and gathers what the parsers return…
- [Keys and two-phase signing](https://recursiveai.org/onecrypto/docs/keys/index.md): Behaviour of the key interfaces (RecursiveAI.OneCrypto.Keys). A key is something that does an operation; the library never asks for key bytes.
- [PKCS#8, PKCS#12 and OpenSSH keys](https://recursiveai.org/onecrypto/docs/pkcs/index.md): Normative behaviour of RecursiveAI.OneCrypto.Pkcs and RecursiveAI.OneCrypto.Wire.Ssh. Clause numbers are those of the RFC or document named.
- [ASN.1 and PEM](https://recursiveai.org/onecrypto/docs/asn1/index.md): Normative behaviour of RecursiveAI.OneCrypto.Asn1 and RecursiveAI.OneCrypto.Pem. Clause numbers are ITU-T X.690 (02/2021) unless another document is named.

## Messages and certificates

- [CMS (signed and encrypted data)](https://recursiveai.org/onecrypto/docs/cms/index.md): Normative behaviour of the CMS models in RecursiveAI.OneCrypto (SignedData, EnvelopedData, AuthEnvelopedData, AuthenticatedData, EncryptedData…
- [X.509, CSR, CRL and OCSP](https://recursiveai.org/onecrypto/docs/x509/index.md): Normative behaviour of the PKI models in RecursiveAI.OneCrypto (the Certificate, CertificateSigningRequest, CertificateRevocationList, OcspRequest…
- [RFC 3161 time-stamps](https://recursiveai.org/onecrypto/docs/tsp/index.md): RFC 3161 time-stamps: building requests, reading responses and TSTInfo, the verifier and its rules, and the time-stamp authority handler. No network and no clock: bytes in, bytes out.
- [CryptoPolicy](https://recursiveai.org/onecrypto/docs/policy/index.md): CryptoPolicy (RecursiveAI.OneCrypto.Policy) decides which algorithms, key sizes and options the library accepts. It is an immutable record: derive a…

## Issuing

- [Certificate authority](https://recursiveai.org/onecrypto/docs/issuance/index.md): A certificate authority as a library object, with no I/O and no clock: profiles, issuing from a CSR or a key, serial numbers, CRLs and delta CRLs, and two-phase signing with keys held anywhere.
- [OCSP responder](https://recursiveai.org/onecrypto/docs/ocsp-responder/index.md): RecursiveAI.OneCrypto.Issuance.OcspResponder: a message handler. Request octets in, a signed OcspResponse out; no network, no clock, no database. The host…

## Path validation (preview)

- [Path validation (preview)](https://recursiveai.org/onecrypto/docs/validation/index.md): Normative behaviour of PathValidator in RecursiveAI.OneCrypto.Validation (core package). Clause numbers are RFC 5280 unless another document is named. The…
- [Validator review](https://recursiveai.org/onecrypto/docs/validation-review/index.md): An independent read of the path validator's verdict logic (src/OneCrypto/Validation/*, behaviour in docs/validation.md) against RFC 5280 §6, RFC 6960 and…

## Primitives

- [Ed25519, Ed448, X25519 and X448](https://recursiveai.org/onecrypto/docs/curves/index.md): Normative notes for the curve primitives in RecursiveAI.OneCrypto.Primitives. The .NET base class library has none of these curves, so they are…
- [Argon2, scrypt and bcrypt-pbkdf](https://recursiveai.org/onecrypto/docs/kdf/index.md): Argon2 (Argon2), scrypt (Scrypt) and bcrypt-pbkdf (BcryptPbkdf) in RecursiveAI.OneCrypto.Primitives. The platform has none of them. PBKDF2, HMAC and SHA-2…
- [OCB, EAX and AES key wrap](https://recursiveai.org/onecrypto/docs/aes-modes/index.md): RecursiveAI.OneCrypto.Primitives has AesOcb, AesEax and AesKeyWrap: modes over the platform's AES, for the places the platform has no mode of its own. The…
- [Camellia and legacy ciphers](https://recursiveai.org/onecrypto/docs/legacy-ciphers/index.md): RecursiveAI.OneCrypto.Primitives has Camellia (RFC 3713, 128-, 192- and 256-bit keys) and four ciphers that OneCrypto reads but never writes: Cast5 (RFC…
- [Platform-gap fallbacks](https://recursiveai.org/onecrypto/docs/fallbacks/index.md): How the library chooses between the platform's cryptography, a narrow managed fallback and an error. The per-platform results are in availability.md.

## How it is checked

- [Conformance](https://recursiveai.org/onecrypto/docs/conformance/index.md): What is checked, against what, and where the library deviates. Gaps are listed, not hidden. The numbers come from runs of the test suite and its opt-in…
- [Benchmarks](https://recursiveai.org/onecrypto/docs/benchmarks/index.md): Project: bench/OneCrypto.Benchmarks (BenchmarkDotNet, in-process, MemoryDiagnoser on). Runner: tools/bench.sh.
- [Timing tests](https://recursiveai.org/onecrypto/docs/timing/index.md): Constant-time evidence for secret-handling code, in the style of Reparaz, Balasch and Verbauwhede, "Dude, is my code constant time?" (DATE 2017). Project…

## Reference

- [Changelog](https://recursiveai.org/onecrypto/docs/changelog/index.md): All notable changes are listed here. The format follows Keep a Changelog and versions follow Semantic Versioning.

## Cookbook

- [All recipes](https://recursiveai.org/onecrypto/cookbook/index.md): 8 short, task-first recipes with complete code.
