aboutsummaryrefslogtreecommitdiff
path: root/azalea-crypto
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-crypto')
-rw-r--r--azalea-crypto/Cargo.toml1
-rw-r--r--azalea-crypto/src/lib.rs2
-rw-r--r--azalea-crypto/src/signing.rs25
3 files changed, 12 insertions, 16 deletions
diff --git a/azalea-crypto/Cargo.toml b/azalea-crypto/Cargo.toml
index ee652565..7b77eb3b 100644
--- a/azalea-crypto/Cargo.toml
+++ b/azalea-crypto/Cargo.toml
@@ -13,3 +13,4 @@ num-bigint = "^0.4.3"
rand = {version = "^0.8.4", features = ["getrandom"]}
rsa_public_encrypt_pkcs1 = "0.4.0"
sha-1 = "^0.10.0"
+uuid = "^1.1.2"
diff --git a/azalea-crypto/src/lib.rs b/azalea-crypto/src/lib.rs
index a5e797e8..9a17a472 100644
--- a/azalea-crypto/src/lib.rs
+++ b/azalea-crypto/src/lib.rs
@@ -7,7 +7,7 @@ use aes::{
};
use rand::{rngs::OsRng, RngCore};
use sha1::{Digest, Sha1};
-pub use signing::SaltSignaturePair;
+pub use signing::*;
fn generate_secret_key() -> [u8; 16] {
let mut key = [0u8; 16];
diff --git a/azalea-crypto/src/signing.rs b/azalea-crypto/src/signing.rs
index 535f9f1d..99c7b3d7 100644
--- a/azalea-crypto/src/signing.rs
+++ b/azalea-crypto/src/signing.rs
@@ -1,24 +1,19 @@
-use azalea_buf::{McBufReadable, McBufWritable};
-use std::io::{Read, Write};
+use azalea_buf::McBuf;
+use uuid::Uuid;
-#[derive(Debug, Clone)]
+#[derive(Debug, Clone, McBuf)]
pub struct SaltSignaturePair {
pub salt: u64,
pub signature: Vec<u8>,
}
-impl McBufReadable for SaltSignaturePair {
- fn read_from(buf: &mut impl Read) -> Result<Self, String> {
- let salt = u64::read_from(buf)?;
- let signature = Vec::<u8>::read_from(buf)?;
- Ok(SaltSignaturePair { salt, signature })
- }
+#[derive(Clone, Debug, Default, McBuf)]
+pub struct MessageSignature {
+ pub bytes: Vec<u8>,
}
-impl McBufWritable for SaltSignaturePair {
- fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
- self.salt.write_into(buf)?;
- self.signature.write_into(buf)?;
- Ok(())
- }
+#[derive(Clone, Debug, McBuf)]
+pub struct SignedMessageHeader {
+ pub previous_signature: Option<MessageSignature>,
+ pub uuid: Uuid,
}