wsc 0.5.1

WebAssembly Signature Component - WASM signing and verification toolkit
Documentation
"""Core wsc library

This library provides the core signing/verification functionality.
"""

load("@rules_rust//rust:defs.bzl", "rust_library")

package(default_visibility = ["//visibility:public"])

rust_library(
    name = "wsc",
    srcs = glob(["src/**/*.rs"]),
    crate_name = "wsc",
    crate_features = [
        "software-keys",  # Enable software key provider
        "sync",           # Use synchronous HTTP client
    ],
    edition = "2024",
    compile_data = glob(["src/**/*.json"]),
    proc_macro_deps = [
        # Async/sync abstraction for HTTP client (proc-macro)
        "@wsc_deps//:maybe-async",
    ],
    deps = [
        "//src/attestation:wsc-attestation",
        "@wsc_deps//:anyhow",
        "@wsc_deps//:ct-codecs",
        "@wsc_deps//:ed25519-compact",
        "@wsc_deps//:getrandom",
        "@wsc_deps//:hmac-sha256",
        "@wsc_deps//:log",
        "@wsc_deps//:regex",
        "@wsc_deps//:sha2",
        "@wsc_deps//:thiserror",
        "@wsc_deps//:tracing",
        "@wsc_deps//:tracing-subscriber",
        "@wsc_deps//:wasi",
        # Keyless signing dependencies (common to all targets)
        "@wsc_deps//:base64",
        "@wsc_deps//:chrono",
        "@wsc_deps//:const-oid",
        "@wsc_deps//:ecdsa",
        "@wsc_deps//:hex",
        "@wsc_deps//:p256",
        "@wsc_deps//:pem",
        "@wsc_deps//:rustls",
        "@wsc_deps//:rustls-pki-types",
        "@wsc_deps//:rustls-webpki",
        "@wsc_deps//:serde",
        "@wsc_deps//:serde_jcs",
        "@wsc_deps//:serde_json",
        "@wsc_deps//:spki",
        "@wsc_deps//:time",
        "@wsc_deps//:ureq-3.1.2",
        "@wsc_deps//:webpki-roots",
        "@wsc_deps//:x509-parser",
         # Certificate provisioning dependencies
         "@wsc_deps//:rcgen",
         "@wsc_deps//:uuid",
         "@wsc_deps//:zeroize",
         # Policy file parsing (TOML format)
         "@wsc_deps//:toml",
     ],
)

exports_files(["Cargo.toml"])