You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.7 KiB
109 lines
4.7 KiB
/// The DateKeys protocol in pure Dart: DateKey, DateKeyCap (`.dkc`) and the
|
|
/// DateKeys Access Key (`.dkk`), as `datekeys-go` and `datekeys-ts` implement
|
|
/// them, checked against the same test data.
|
|
///
|
|
/// Stages 0 to 5 of docs/PLAN_dart.md: the package and its test data, the
|
|
/// normative errors of spec §69, byte helpers and the CBOR profile of spec
|
|
/// §58, the primitives and the reading of age files, then BLS12-381 and
|
|
/// tlock: the check of a compressed point and the verification of releases,
|
|
/// with the sources that deliver them. Then the key of words of spec §38.1,
|
|
/// and the formats: the frames of the .dkc and the .dkk, PUBLIC_HEADER,
|
|
/// CONTROL_CBOR of the three formats, the .dkk, the extensions with their
|
|
/// registries, the Provider Profile with the pinned Quicknet, the DateKey
|
|
/// with its rounds and times, the padding, the head of format 3 and the
|
|
/// public note. And the reading of a capsule: its inspection, steps 1 to 8
|
|
/// of spec §63, and its opening, steps 9 to 18, in memory or from a source
|
|
/// read by ranges, to a sink of bytes or of files.
|
|
/// And the security area of format 3: what an author signs and a seal seals,
|
|
/// SECURITY_CBOR, the signature of alg 1, the signature of alg 2 with
|
|
/// certificates and the seal of seal_type 2 with the reader of CMS, and the
|
|
/// verdicts with their texts and lines, which the opening evaluates as Go.
|
|
/// And part 6a of stage 6: the writing of age files, with the injectable
|
|
/// source of the random values of the writers and the X25519, scrypt and
|
|
/// tlock recipients, for the writer of a capsule and the files of author
|
|
/// keys.
|
|
///
|
|
/// And part 7a of stage 7: the extension datekeys.capsule of a .dkk, its
|
|
/// data, which [StandardExtensions] checks by default as locator.Standard of
|
|
/// Go, and what it points to, the locator sealed for the date and the
|
|
/// envelope of the .dkc: reading and opening a locator, the rules of its
|
|
/// addresses and of the IP that a name resolves to, and the rest of the
|
|
/// envelope. And part 7b: sealing a locator and making an envelope, and the
|
|
/// author keys of alg 1, dkauthor1… and DKAUTHOR-SECRET-KEY-1…, with their
|
|
/// Ed25519 signature and their key file encrypted with scrypt.
|
|
///
|
|
/// And part 6b of stage 6: the writer of capsules of format 3,
|
|
/// [encryptFiles], with its options, its sources read in streaming, its
|
|
/// result and the hooks of the signature and the seal, [AuthorSigner],
|
|
/// [CmsSigner] and [Sealer]; and what its options take: the X25519
|
|
/// recipients and the source of the random values.
|
|
///
|
|
/// DER, the primitives, the reading and the writing of age, the recipients
|
|
/// and the random sources, agewrap, the curve arithmetic, the IBE of tlock
|
|
/// and its stanza, the rules of paths and texts on the Unicode tables, the
|
|
/// frame of BODY, the digest of a capsule, the steps of the opening, the
|
|
/// reader of CMS with its ECDSA and RSA, the parser of IP addresses, the
|
|
/// Ed25519 signing and the Unicode sets of Go are internal, as in the Go
|
|
/// reference and datekeys-ts.
|
|
library;
|
|
|
|
export 'src/accesskey.dart';
|
|
export 'src/author.dart';
|
|
export 'src/authorkey.dart' hide parseAuthorPublicUtf8, parseAuthorSecretUtf8;
|
|
export 'src/bls12381_curve.dart'
|
|
show BlsGroup, PointVerdict, checkCompressedPoint;
|
|
export 'src/bytes.dart'
|
|
show compareBytes, concatBytes, decodeUtf8, equalBytes, fromHex, toHex;
|
|
export 'src/cbor.dart';
|
|
export 'src/control.dart';
|
|
export 'src/datekey.dart';
|
|
export 'src/encrypt3.dart';
|
|
export 'src/errors.dart';
|
|
export 'src/extension.dart';
|
|
export 'src/framing.dart';
|
|
export 'src/head.dart' hide decodeWrittenHead;
|
|
export 'src/header.dart';
|
|
export 'src/inspect.dart'
|
|
show
|
|
CheckResult,
|
|
Inspection,
|
|
StanzaInfo,
|
|
inspectCapsule,
|
|
inspectCapsuleSource,
|
|
inspectJson,
|
|
inspectView,
|
|
inspectedLength,
|
|
maxAccessKeyRead;
|
|
export 'src/locator.dart';
|
|
export 'src/locator_seal.dart';
|
|
export 'src/note.dart';
|
|
export 'src/open.dart' show OpenOptions, Opened, openCapsule, openCapsuleSource;
|
|
export 'src/padding.dart';
|
|
export 'src/profile.dart';
|
|
export 'src/random.dart' show RandomSource, secureRandom;
|
|
export 'src/recipient.dart' show X25519Recipient, checkX25519Recipient;
|
|
export 'src/release.dart'
|
|
show
|
|
PinnedProfile,
|
|
Release,
|
|
ReleaseSource,
|
|
fetchRelease,
|
|
quicknetScheme,
|
|
suppliedRelease,
|
|
verifyRelease;
|
|
export 'src/security.dart';
|
|
export 'src/securitycms.dart';
|
|
export 'src/sink.dart';
|
|
export 'src/source.dart' show ByteSource, BytesSource;
|
|
export 'src/verdicts.dart';
|
|
export 'src/version.dart';
|
|
export 'src/wordkey.dart'
|
|
show
|
|
WordKeyException,
|
|
checkWords,
|
|
minLetters,
|
|
minWords,
|
|
normalizeWords,
|
|
wordKey,
|
|
wordKeyRounds;
|