Skip to content

Commit c7cb6bb

Browse files
feat(dpapi): implement MS-GKDI and DPAPI Blob encoding/decoding (#348)
MS-GKDI structures and DPAPI Blob encoding/decoding. Docs & references: * [[MS-GKDI]: Group Key Distribution Protocol](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gkdi/943dd4f6-6b80-4a66-8594-80df6d2aad0a). * [jborean93/dpapi-ng](https://github.com/jborean93/dpapi-ng/tree/main).
1 parent b9491d1 commit c7cb6bb

File tree

19 files changed

+1676
-100
lines changed

19 files changed

+1676
-100
lines changed

Cargo.lock

Lines changed: 55 additions & 40 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ tracing-subscriber = "0.3"
5252
proptest = "1.6"
5353
serde = "1"
5454
byteorder = "1.5"
55+
num-bigint-dig = "0.8"
5556

5657
[features]
5758
default = ["aws-lc-rs"]
@@ -96,6 +97,7 @@ serde.workspace = true
9697
picky-krb.workspace = true
9798
picky-asn1 = { workspace = true, features = ["time_conversion"] }
9899
byteorder.workspace = true
100+
num-bigint-dig.workspace = true
99101

100102
md-5 = "0.10"
101103
md4 = "0.10"
@@ -110,7 +112,6 @@ oid = "0.2"
110112
reqwest = { version = "0.12", optional = true, default-features = false, features = ["blocking", "rustls-tls-no-provider"] }
111113
hickory-resolver = { version = "0.24", optional = true }
112114
portpicker = { version = "0.1", optional = true }
113-
num-bigint-dig = "0.8"
114115
rustls = { version = "0.23", optional = true, default-features = false, features = ["logging", "std", "tls12"] }
115116
rustls-native-certs = { version = "0.8", optional = true }
116117
zeroize = { version = "1.8", features = ["zeroize_derive"] }

crates/dpapi/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@ byteorder.workspace = true
1818
num-derive.workspace = true
1919
num-traits = { workspace = true, default-features = true }
2020
uuid = { workspace = true, features = ["std"] }
21+
picky-asn1.workspace = true
22+
picky-asn1-der.workspace = true
23+
picky-asn1-x509 = { workspace = true, features = ["pkcs7"] }
24+
num-bigint-dig.workspace = true
2125

2226
thiserror = "2.0"
27+
regex = "1.11"
2328

2429
[dev-dependencies]
2530
paste = "1.0"

0 commit comments

Comments
 (0)