Open-source Windows and Office activator featuring HWID, Ohook, KMS38, and Online KMS activation methods, along with advanced troubleshooting.
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.

35 lines
1.6 KiB

[package]
name = "libtsforge"
version = "0.1.0"
edition = "2021"
rust-version = "1.74"
description = "SPP trusted-store codec for TSforge activation — CRC/hash primitives, store container format, and product tables."
license = "GPL-3.0-or-later"
# Dependency-free by default so the store/CRC/hash logic and data tables are
# unit-tested on any OS, offline. The RSA/AES layers needed to sign a real
# ticket are the one part that should pull vetted crates (RustCrypto: `rsa`,
# `aes`, `cbc`) behind a future `crypto` feature — see src/crypto.rs. CRC32 and
# SHA-256 are hand-rolled here (small, standard, test-vector-verified) so the
# store-integrity layers stay dependency-free and portable.
[lib]
name = "libtsforge"
path = "src/lib.rs"
# The RSA/AES/HMAC backend (src/crypto_real.rs) that signs a real ticket. Off by
# default so the pure store/CRC/hash core stays dependency-free and `cargo test`s
# offline; enabling it pulls the RustCrypto crates. `sha1` needs the `oid`
# feature for the PKCS#1 v1.5 SHA1 DigestInfo prefix; `cbc`'s `alloc` feature
# provides the PKCS7 vec helpers. `rand` supplies OsRng for the random HMAC key
# and RSA PKCS#1 v1.5 encryption padding.
[features]
crypto = ["dep:rsa", "dep:aes", "dep:cbc", "dep:hmac", "dep:sha1", "dep:rand"]
[dependencies]
rsa = { version = "0.9", optional = true }
aes = { version = "0.8", optional = true }
cbc = { version = "0.1", optional = true, features = ["alloc"] }
hmac = { version = "0.12", optional = true }
sha1 = { version = "0.10", optional = true, features = ["oid"] }
rand = { version = "0.8", optional = true }