diff --git a/wrapper/rust/README.md b/wrapper/rust/README.md index 297e87225..791ae4fd2 100644 --- a/wrapper/rust/README.md +++ b/wrapper/rust/README.md @@ -1,17 +1,11 @@ # wolfSSL Rust Wrapper The wolfSSL Rust wrapper currently consists of a single Rust crate named -`wolfssl-wolfcrypt`. This crate provides wrappers for the cryptographic -algorithms supported by wolfCrypt in the wolfSSL library. +`wolfssl-wolfcrypt`. +The `wolfssl-wolfcrypt` crate is a Rust wrapper for the wolfCrypt cryptographic +algorithms portion of the wolfSSL C library. -The `wolfssl-wolfcrypt` crate is intended to be published to -[crates.io](https://crates.io/) and can be used by including it in your -project's `Cargo.toml` file. - -It can also be built locally from within the wolfssl C library repository to -test changes to the C library using the Rust API. - -## Locally building the wolfssl-wolfcrypt crate +## Locally building and testing the wolfSSL Rust Wrapper First, configure and build wolfssl C library. @@ -30,29 +24,3 @@ Run tests with: | `/wrapper/rust` | Top level container for all Rust wrapper functionality. | | `/wrapper/rust/wolfssl-wolfcrypt` | Top level for the `wolfssl-wolfcrypt` library crate. | | `/wrapper/rust/wolfssl-wolfcrypt/src` | Source directory for `wolfssl-wolfcrypt` crate top-level modules. | - -## API Coverage - -The wolfSSL Rust wrapper provides a wrapper API for the following C library -functionality: - - * AES - * CBC, CCM, CFB, CTR, EAX, ECB, GCM, OFB, XTS - * CMAC - * DH - * ECC - * Ed448 - * Ed25519 - * HKDF - * HMAC - * PBKDF2 - * PKCS #12 PBKDF - * PRF - * RSA - * RNG - * SHA - * SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, - SHA3-512, SHAKE128, SHAKE256 - * SRTP/SRTCP KDF - * SSH KDF - * TLSv1.3 HKDF diff --git a/wrapper/rust/wolfssl-wolfcrypt/Cargo.toml b/wrapper/rust/wolfssl-wolfcrypt/Cargo.toml index 027b3f848..479c99dcd 100644 --- a/wrapper/rust/wolfssl-wolfcrypt/Cargo.toml +++ b/wrapper/rust/wolfssl-wolfcrypt/Cargo.toml @@ -8,6 +8,7 @@ repository = "https://github.com/wolfSSL/wolfssl" documentation = "https://github.com/wolfSSL/wolfssl/tree/master/wrapper/rust" keywords = ["wolfssl", "fips", "security", "encryption", "cryptography"] categories = ["cryptography", "security", "api-bindings"] +readme = "README.md" [features] std = [] diff --git a/wrapper/rust/wolfssl-wolfcrypt/README.md b/wrapper/rust/wolfssl-wolfcrypt/README.md new file mode 100644 index 000000000..87db93864 --- /dev/null +++ b/wrapper/rust/wolfssl-wolfcrypt/README.md @@ -0,0 +1,44 @@ +# wolfssl-wolfcrypt crate + +The `wolfssl-wolfcrypt` crate is a Rust wrapper for the wolfCrypt cryptographic +algorithms portion of the wolfSSL C library. + +## Installation + +The `wolfssl` C library must be installed to be used by the Rust crate. + +The `wolfssl-wolfcrypt` crate can be used by including it as a dependency in +your project's `Cargo.toml` file. + +For example: + +``` +[dependencies] +wolfssl-wolfcrypt = "1.0" +``` + +## API Coverage + +This crate provides a wrapper API for the following wolfCrypt C library +functionality: + + * AES + * CBC, CCM, CFB, CTR, EAX, ECB, GCM, OFB, XTS + * CMAC + * DH + * ECC + * Ed448 + * Ed25519 + * HKDF + * HMAC + * PBKDF2 + * PKCS #12 PBKDF + * PRF + * RSA + * RNG + * SHA + * SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, + SHA3-512, SHAKE128, SHAKE256 + * SRTP/SRTCP KDF + * SSH KDF + * TLSv1.3 HKDF