got to compile

This commit is contained in:
mamoniot 2022-12-14 10:10:16 -05:00
parent 987b0f0769
commit b3b0ef02b9
5 changed files with 1116 additions and 15 deletions

View file

@ -1,6 +1,7 @@
[workspace]
members = [
"crypto",
"zssp",
"network-hypervisor",
"controller",
"service",

View file

@ -3,5 +3,3 @@
------
Most of this library is just glue to provide a simple safe API around things like OpenSSL or OS-specific crypto APIs.
It also contains [ZSSP](ZSSP.md), the V2 ZeroTier Secure Session Protocol.

View file

@ -1,8 +0,0 @@
ZeroTier Secure Socket Protocol
======
**NOTE: this protocol and code have not yet been formally audited and should not be used in anything production.**
ZSSP (ZeroTier Secure Socket Protocol) is an implementation of the Noise_IK pattern using FIPS/NIST compliant primitives. After Noise_IK negotiation is complete ZSSP also adds key ratcheting and optional (enabled by default) support for quantum data forward secrecy with Kyber1024.
It's general purpose and could be used with any system but contains a few specific design choices to make it optimal for ZeroTier and easy to distinguish from legacy ZeroTier V1 traffic for backward compatibility.

View file

@ -8,11 +8,11 @@ use std::ops::Deref;
use std::sync::atomic::{AtomicU64, Ordering};
use std::sync::{Mutex, RwLock};
use crate::aes::{Aes, AesGcm};
use crate::hash::{hmac_sha512, HMACSHA384, SHA384};
use crate::p384::{P384KeyPair, P384PublicKey, P384_PUBLIC_KEY_SIZE};
use crate::random;
use crate::secret::Secret;
use zerotier_crypto::aes::{Aes, AesGcm};
use zerotier_crypto::hash::{hmac_sha512, HMACSHA384, SHA384};
use zerotier_crypto::p384::{P384KeyPair, P384PublicKey, P384_PUBLIC_KEY_SIZE};
use zerotier_crypto::random;
use zerotier_crypto::secret::Secret;
use zerotier_utils::gatherarray::GatherArray;
use zerotier_utils::memory;

1110
zssp/src/zssp_.rs Normal file

File diff suppressed because it is too large Load diff