From 24f62dab613111ca307b345bd372f7cd0c7f1051 Mon Sep 17 00:00:00 2001 From: AlexiAxAxA Date: Wed, 23 Sep 2026 09:58:53 +0300 Subject: [PATCH] Document published OpenCrate packages --- EXPORT-INVENTORY.json | 25 ++++++++++++------------- README.md | 9 +++++++++ docs/getting-started.md | 31 ++++++++++++++++++++++++++----- 3 files changed, 47 insertions(+), 18 deletions(-) diff --git a/EXPORT-INVENTORY.json b/EXPORT-INVENTORY.json index 6cc8b2a..d37d517 100644 --- a/EXPORT-INVENTORY.json +++ b/EXPORT-INVENTORY.json @@ -140,10 +140,10 @@ ".github/workflows/ci.yml": "f8e7dc60e0138d61841817bcf44338ed7ed19d1f97645e83631c97575fa14436", ".gitignore": "ac05572173ab2ab7437511f230c35c4d767ebb9611496581f7bc9e54c57bc24a", "Cargo.lock": "9aaef2432ecadcbc53b75e70abd75b0e41fc9d316e576938e4cc594861ec51e5", - "Cargo.toml": "f4de1ab1b932771ee563e02d3ec8b47bccf66ef7fed0f30f0e2ddea935ec4e91", + "Cargo.toml": "98c1cef192250bc371784bfb7df7a947e172a886112da29f1714f3c405929bf5", "clippy.toml": "447c1c2ae9dc0dfef9bae35ca82cb04f08c09bf7943d3835823138b546c03621", "CONTRIBUTING.md": "72a29ff17d21e903057986be6ee97cdfe7c20f519cc4845b0a58a9831a7c0eb7", - "crates/oc-crypto/Cargo.toml": "b10797e3d9dd850b0cc84a4d83fff40b2a04a05a5a4bdaf5ce1117c3cc9dd53d", + "crates/oc-crypto/Cargo.toml": "22a3f3142203716749ea5f7e9d626ae2b270d23f4f54f68f4db0b511d8bd5de2", "crates/oc-crypto/README.md": "4adca414c2c7386d4688305d823a9c7e9061f4c31e372d6f025617d6661bbe44", "crates/oc-crypto/src/aead.rs": "173799c3e6ce7bf46058377cdd54c0e9d43408752341cd49f720ebce74043ca8", "crates/oc-crypto/src/agreement.rs": "469d4d3f4c1e3aa402ad7cd12e99653ab539fd879ce3b83afcd896b63fbc0aa6", @@ -170,7 +170,7 @@ "crates/oc-crypto/tests/security_probe_tree_signatures.rs": "e8d9f1d83bb258002cc26193b005164aed7bfb013939ca0a8dc0fb665e2dd1d1", "crates/oc-crypto/tests/spec_labels.rs": "cbe4cb4198efddf426b02d25e92c9d59dc867065a76c3dee24cb31e5a8b8034d", "crates/oc-crypto/tests/zeroize_on_drop.rs": "fa1bd7770cfaf01f08b24cb8131c848fd26f551dbf7f2b94a016ad9aff43d679", - "crates/oc-engine/Cargo.toml": "87783b86deda21eb64fb381a2e3715cfcad5e5a54c4be82449039a23e4d18b6d", + "crates/oc-engine/Cargo.toml": "f380978c462b3d63daf977798f1ad61e1ed75b0276504ed03ed8c0984c8a1a24", "crates/oc-engine/README.md": "2676481c405099b07528b277b459c2723f4061b1c85e7b3edf390d0a74a1419e", "crates/oc-engine/src/edit.rs": "0ca917d571b1a6845247c7ef0b850f216df16a893d6be4b6a37c2b316b739aac", "crates/oc-engine/src/lib.rs": "cf10dda5a19e795f98823b3a42ea05847c421ad8343b03931917d8817ad38798", @@ -178,7 +178,7 @@ "crates/oc-engine/tests/edit_writer.rs": "a2a4a298ff9e7f745847785283aaf62bf8a7aebfefbe5e501bdab83870aebde3", "crates/oc-engine/tests/hardware_hybrid_golden.rs": "95d20e98b857b065b0ba02e32a7685018be8394414045537e143b8188156337d", "crates/oc-engine/tests/p256_author_golden.rs": "6bf77dcc1e172715c31e088fb044d34e11d0f14dd98ba004b93ca46e0dd56ea7", - "crates/oc-format/Cargo.toml": "64035dbb60dcff107345d4c03ac1a14e9dc55a6bd7c6c06b2fb1276787168c5e", + "crates/oc-format/Cargo.toml": "5d6b7876dfa5c4b7bc2558a51b1af7632d404252513900e241cbe72bb9578f5b", "crates/oc-format/examples/verify-header.rs": "82fef149cdae9b3fbf75db7ce7ad77c3adf13c3cbcf2c20998f4d53f63f9d713", "crates/oc-format/README.md": "36af480e569969e4ec58f501e6beb3b2045d83569ba0d0c101bca3e4f1712567", "crates/oc-format/src/content.rs": "c71922d037cfebb63941634a6e8c38b7d1d1a38d1c120da84d632b0e8896866a", @@ -198,13 +198,13 @@ "crates/oc-format/tests/security_probe_hostile_input.rs": "7a8f2c99d9720af5c6e1bd2d0b023a0bfd3fc7e0de780c7cd558bcf3fc430058", "crates/oc-format/tests/security_probe_policy_enforcement.rs": "0fc8d6e4b0c2b71a552ef2deba8972208f42f787f374b1084f5703ea1541c6e2", "crates/oc-format/tests/skeptic_recheck_slot_tags.rs": "89ea63efa807d1e4c44c95b27df6677d77b2ccda7ee58a18677c29a9fb0e635f", - "crates/oc-policy/Cargo.toml": "f23a4771d5f67eaec3931ed179d9b979a11a392f282f0cbcd85f5ff678fd0ae9", + "crates/oc-policy/Cargo.toml": "daf309b367433dbb51d016c490acf6eff8f855a24b22e9bedbdedbc8a29952f7", "crates/oc-policy/examples/access-policy.rs": "dc2912832af92b86d394e1bb48aaaa36e8b10e6342fc908862b455d7b3a928bd", "crates/oc-policy/README.md": "781d826f5467727ee848d0f0ebe294ef0f1fdf8d7b526caf76098fff5327a16a", "crates/oc-policy/src/lib.rs": "df6149fbd31b71cf1cf9016c0dbfcce1d134d5c86bb4810706292edc77346df7", "crates/oc-policy/tests/security_probe_skeptic.rs": "643226418b27a4afdd2f4c04de37770fd5f14fea84ffa8ed9e01fbd09abff35c", "crates/oc-policy/tests/server_policy_composition.rs": "41a7447828ced259660829ada1d950ff29fbf6705fec2883c18be0768e49d6fb", - "crates/oc-protocol/Cargo.toml": "f7ad9ade99bc7fecf910d77fbaabdc0724f27413e83b495d7aaab70f183827f7", + "crates/oc-protocol/Cargo.toml": "b47ac2a899d686825125d6c4fdfee41c6e937460c5f39d55dc33a6760b4a6d56", "crates/oc-protocol/README.md": "38315a2a4544e9adc1e786e94a7d6741fdaf8dc3c1e5c259abbb79a964ce3352", "crates/oc-protocol/src/access.rs": "d80cee99a7103d751f283d4f140714f7342072b24167966d08779f1c96477eb7", "crates/oc-protocol/src/action.rs": "d5ad66ed3090f7bac3f9acc59450a017ba076b02ef4522db30d68aa8c1423af2", @@ -231,27 +231,26 @@ "crates/oc-protocol/tests/lease_signature.rs": "a7136a640483be24523e3bfc64a6027a41e6efe8681527d4fd01d29e3ce947e2", "crates/oc-protocol/tests/session_mac_table.rs": "9ee07caece5581e02de07e32a8f1833ab8ed47dc60b62ddf8ee57723ceb38807", "crates/oc-protocol/tests/unknown_tags.rs": "de2e3a346d0db0f9380974f675ac6e6b21095d0b6c46cc6c5a7f43953c303aa0", - "crates/opencrate/Cargo.toml": "ad65cfd7cfd738124e3e4c9088881cef5ff293236bed7b43913e8a92a1ff1fbb", - "crates/opencrate/README.md": "c849f6b723c63c771e1f5f6983afee08a25537b2668ba2d2abe92166ab38a18e", - "crates/opencrate/src/lib.rs": "a11794a3cc272890b4a4e2b3e303800fb86c597fb5b05931e76bd4a03fa5989a", - "deny.toml": "913584320f12993da7dacf8306b0fa8b76a2d4eb509ce802cc24dfcb2d59d9f6", + "crates/opencrate/Cargo.toml": "94898b29340647bfe0cae14d60f6d56cd839a9b49f1aefb0827159a93cd59d5a", + "crates/opencrate/README.md": "2757055daf9ef5673b2844638cfa6c5b38fa25fe9cd3aedf6edd40c9e739f63b", + "crates/opencrate/src/lib.rs": "ee7cb30cf8f068eb75ba0c0dce166087119b865754ecc750052301c183456ed9", + "deny.toml": "558674f4b6c54ed6fe5ca9ac16447e038f544c0ca2aee72549ac7beb864ce979", "docs/architecture.md": "f14a9d213075ba3eecac721290558a343489e9f0ae6544a9fd475a37877f5266", "docs/assets/access-decisions.svg": "b106699adb59aeb9466d94b48ab505045faf7e91f9bd5739074911e244a4c030", "docs/assets/core-map.svg": "716048cb3069ba81a1b23da228ee9a82385199b423337f8dd17bc77e533ecce2", "docs/assets/document-lifecycle.svg": "00faf9ae57fde14858b297c72d46902ac227a490215356248c9896d75454b79d", "docs/assets/open-crate-banner.svg": "9e169d913482e4eb5c01094b20b6870c4b3c2931514dc0b8b0f37c489c170b9c", "docs/format.md": "b4e98a8bd6ccbe09e81f10637068a9d878f996387e6d36096d8dde21534ca1c5", - "docs/getting-started.md": "754093e3987c83d369b6e4ffb8e628e0d3b65862511e09bd6a1ef66d0f0c5e98", + "docs/getting-started.md": "1b3fe36e5470afd9528a8c7847dbc0efb7bbf2d2e695cc328103514558f0838d", "docs/how-it-works.md": "5a15ef7455a46a9b550a85359fcf0b8e8dd85bcbc45e2ded612676b1cc8826e7", "docs/index.md": "072f1cdf5778cd95919c40cb2e1cc9b4e8b4a3c8fe592348f3343f288f0a9708", "docs/licensing.md": "6711f5603b9198fdaacf6c769dddb26c6d6f324d319b66a971859ba06dcf90ef", "docs/protocol.md": "ec582526e61914ee6251ba2188d6680d3aa88aacaf2056d49ee6a463ce1e6990", "docs/translation-notes.md": "c290d69d83f42cd1f9d9311e32b8ad2b08391a94856e68a0b4993dfa1d103065", "examples/README.md": "5d0b19f37c3c600537147116277b6c82362278d7e7b830e31074ac3c0eb59cdf", - "EXPORT-INVENTORY.json": "adb5d1972cb6f09090650d6a2b9f89499fe2ad107b2778a23fd6aad7ee945a02", "LICENSE": "eebdd6a75537205ccfccdaac674d895247aded560225a519a01300b2e46bc70f", "LICENSE-OPENCRATE": "eebdd6a75537205ccfccdaac674d895247aded560225a519a01300b2e46bc70f", - "README.md": "24559f0987a639a834b260400017220e554ce94466acbf1283bd0b7a54faefbb", + "README.md": "1fc96deecea02091be4f20a54d63a33d99e458407284d8d47e0ac9b3dd59adb5", "rust-toolchain.toml": "41308dbe82a83679b7b2081be4d5ae7f9aa52f642bcc3eab104ac77501560e79", "rustfmt.toml": "6b2630173db5274ede0d37501985e54cc9eda6af99fd7602bb67b39c9ca84e8a", "SECURITY.md": "839c254e62ea1cfa4628520ca6d1e145c5fc1f6b109ab4f2f9c711b3db26d930", diff --git a/README.md b/README.md index 7814364..930a9ee 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,15 @@ Open Crate gives Rust applications the building blocks for encrypted documents: signed headers, authenticated chunks, recipient key slots and explicit access decisions. It is the five-library core behind Close Crate. +For a Rust project, add the `opencrate` facade to use all five libraries, or +depend on the individual `oc-*` crates you need. Version `0.0.1` is available +on crates.io: + +```toml +[dependencies] +opencrate = "=0.0.1" +``` + Your application supplies storage, transport, keys, secure randomness and time. The core handles the container rules, cryptography and policy evaluation. This separation also makes the same core buildable for WebAssembly. diff --git a/docs/getting-started.md b/docs/getting-started.md index 24ed523..b909979 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -97,14 +97,35 @@ cargo run ``` You should see the same three outcomes. This application consumes a path -dependency from the exported repository, rather than relying on the private -Close Crate workspace. Keep its generated `Cargo.lock` for reproducible builds. +dependency from the exported repository. Keep its generated `Cargo.lock` for +reproducible builds. ## Choose the libraries for your integration -The pinned Rust toolchain is in `rust-toolchain.toml`. These packages are not -published to crates.io. Start with a source checkout and path dependencies, and -pin a reviewed source revision and lockfile in your own integration. +All five libraries and the `opencrate` facade are published to crates.io at +version `0.0.1`. To use the full core, add one dependency: + +```toml +[dependencies] +opencrate = "=0.0.1" +``` + +The facade re-exports the libraries as `opencrate::{crypto, engine, format, +policy, protocol}`. To depend on only the libraries you use, declare them +individually instead: + +```toml +[dependencies] +oc-format = "=0.0.1" +oc-crypto = "=0.0.1" +oc-protocol = "=0.0.1" +oc-policy = "=0.0.1" +oc-engine = "=0.0.1" +``` + +The pinned Rust toolchain for this repository is in `rust-toolchain.toml`. +For local source development, use path dependencies and pin a reviewed source +revision and lockfile in your integration: ```toml [dependencies]