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.
150 lines
6.1 KiB
150 lines
6.1 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.
|
|
///
|
|
/// And, with the specification 0.15, the random words of a key of words:
|
|
/// the word lists of datekeys-go, which [readWordList] takes only with the
|
|
/// SHA-256 that [wordListSha256] pins and checks against the alphabet of
|
|
/// their language, the words that [generateWords] draws from one, and their
|
|
/// strength in bits, [wordBits]; and the words of five dice each,
|
|
/// [diceWords], with the list numbered for dice, [diceList]. And what the
|
|
/// official SDK says when it seals: the recovery annex of spec §79 that it
|
|
/// saves next to each .dkc, [recoveryAnnex], in a file whose name ends with
|
|
/// [recoveryAnnexSuffix], and the state of a pinned profile in the registry
|
|
/// of spec §71, [profileStatusOf].
|
|
///
|
|
/// 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/annex.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
|
|
EncodedRelease,
|
|
PinnedProfile,
|
|
Release,
|
|
ReleaseArchive,
|
|
ReleaseSource,
|
|
ReleaseSupplier,
|
|
decodeRelease,
|
|
encodeRelease,
|
|
fetchRelease,
|
|
maxReleaseJsonSize,
|
|
maxReleaseObjectSize,
|
|
maxReleaseSignatureLength,
|
|
parseRelease,
|
|
quicknetScheme,
|
|
releaseArchiveSchemaVersion,
|
|
releaseArchiveTypeTag,
|
|
releaseSchemaVersion,
|
|
releaseTypeTag,
|
|
suppliedRelease,
|
|
supplyRelease,
|
|
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;
|
|
export 'src/wordlist.dart'
|
|
show
|
|
checkWordList,
|
|
defaultWordCount,
|
|
diceList,
|
|
diceListSize,
|
|
diceNumber,
|
|
diceWord,
|
|
diceWords,
|
|
generateWords,
|
|
minListSize,
|
|
readWordList,
|
|
wordBits,
|
|
wordListLanguages,
|
|
wordListSha256;
|