diff --git a/Cargo.toml b/Cargo.toml index e8612be..67f288e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multikey" -version = "1.0.5" +version = "1.0.6" edition = "2021" authors = ["Dave Grantham "] description = "Multikey self-describing cryptographic key data" diff --git a/src/mk.rs b/src/mk.rs index f75b772..65e0d60 100644 --- a/src/mk.rs +++ b/src/mk.rs @@ -905,6 +905,15 @@ mod tests { .with_comment("test key") .try_build() .unwrap(); + let (vpk, epk) = { + let conv = mk.conv_view().unwrap(); + let pk = conv.to_public_key().unwrap(); + (Into::>::into(pk.clone()), EncodedMultikey::from(pk)) + }; + println!("encoded pubkey: {}: {}", codec, epk); + println!("encoded pubkey v: {}: {}", codec, hex::encode(vpk)); + println!("encoded privkey: {}: {}", codec, EncodedMultikey::from(mk.clone())); + println!("encoded privkey v: {}: {}", codec, hex::encode(Into::>::into(mk.clone()))); let _v: Vec = mk.into(); } } @@ -920,7 +929,7 @@ mod tests { .try_build_encoded() .unwrap(); let s = mk.to_string(); - println!("{}: {}", codec, s); + //println!("encoded privkey: {}: {}", codec, s); assert_eq!(mk, EncodedMultikey::try_from(s.as_str()).unwrap()); } } @@ -1283,11 +1292,11 @@ mod tests { #[test] fn test_pub_from_string() { - let s = "zVQSE6EFkZ7inH63w9bBj9jtkj1wL8LHrQ3mW1P9db6JBLnf3aEaesMak9p8Jinmb".to_string(); + let s = "fba24ed010874657374206b6579010120f9ddcd5118319cc69e6985ef3f4ee3b6c591d46255e1ae5569c8662111b7d3c2".to_string(); let mk = EncodedMultikey::try_from(s.as_str()).unwrap(); let attr = mk.attr_view().unwrap(); assert_eq!(mk.codec(), Codec::Ed25519Pub); - assert_eq!(mk.encoding(), Base::Base58Btc); + assert_eq!(mk.encoding(), Base::Base16Lower); assert_eq!(mk.comment, "test key".to_string()); assert_eq!(false, attr.is_encrypted()); assert_eq!(true, attr.is_public_key()); @@ -1299,12 +1308,11 @@ mod tests { #[test] fn test_priv_from_string() { - let s = "bhkacmcdumvzxiidlmv4qcaja5nk775jrjosqisq42b45vfsxzkah2753vhkjzzg3jdteo2zqrp2a" - .to_string(); + let s = "fba2480260874657374206b657901012064e58adf88f85cbec6a0448a0803f9d28cf9231a7141be413f83cf6aa883cd04".to_string(); let mk = EncodedMultikey::try_from(s.as_str()).unwrap(); let attr = mk.attr_view().unwrap(); assert_eq!(mk.codec(), Codec::Ed25519Priv); - assert_eq!(mk.encoding(), Base::Base32Lower); + assert_eq!(mk.encoding(), Base::Base16Lower); assert_eq!(mk.comment, "test key".to_string()); assert_eq!(false, attr.is_encrypted()); assert_eq!(false, attr.is_public_key()); @@ -1316,7 +1324,7 @@ mod tests { #[test] fn test_pub_from_vec() { - let b = hex::decode("3aed010874657374206b6579010120552da9e68c94a11c75da53e66d269a992647ca6cfabca4283e1fd322cceb75d4").unwrap(); + let b = hex::decode("ba24ed010874657374206b6579010120f9ddcd5118319cc69e6985ef3f4ee3b6c591d46255e1ae5569c8662111b7d3c2").unwrap(); let mk = Multikey::try_from(b.as_slice()).unwrap(); let attr = mk.attr_view().unwrap(); assert_eq!(mk.codec(), Codec::Ed25519Pub); @@ -1331,7 +1339,7 @@ mod tests { #[test] fn test_priv_from_vec() { - let b = hex::decode("3a80260874657374206b65790101201e0d7193b676e03b2ba4f329c3817d569de404eef2809b7f401111435dcf3f6b").unwrap(); + let b = hex::decode("ba2480260874657374206b657901012064e58adf88f85cbec6a0448a0803f9d28cf9231a7141be413f83cf6aa883cd04").unwrap(); let mk = Multikey::try_from(b.as_slice()).unwrap(); let attr = mk.attr_view().unwrap(); assert_eq!(mk.codec(), Codec::Ed25519Priv); diff --git a/src/serde/mod.rs b/src/serde/mod.rs index 7d85ed3..2c8efc4 100644 --- a/src/serde/mod.rs +++ b/src/serde/mod.rs @@ -78,7 +78,7 @@ mod tests { &mk.compact(), &[ Token::BorrowedBytes(&[ - 0x3a, // Multikey sigil + 0xba, 0x24, // Multikey sigil 0xed, 0x01, // Ed25519 public key as varuint 0x08, // comment length 0x74, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x65, 0x79, // comment @@ -109,7 +109,7 @@ mod tests { assert_tokens( &pk.readable(), &[Token::Str( - "zVCYiTqf3RfiqqE4RxExy5XEvCWJKnHH4P67PLC1VuAuA1N8X1qQhM3Y3Bp1xmTQ5", + "z7q2yVpRpajoAeCS88yKcpYdNB5dtDEDvKqPGXAyTEebE8qxx8Zgh8MwFcbbvbMTSjT", )], ); } @@ -215,7 +215,7 @@ mod tests { &mk2.compact(), &[ Token::BorrowedBytes(&[ - 0x3a, // Multikey sigil + 0xba, 0x24, // Multikey sigil 0x80, 0x26, // Ed25519 private codec as varuint 0x08, // comment of 8 bytes // comment @@ -414,12 +414,12 @@ mod tests { .with_key_bytes(&bytes) .try_build_encoded() .unwrap(); - println!("{}", emk); + println!("encoded bls private: {}", emk); */ // build a secret key share multikey let emk = EncodedMultikey::try_from( - "zVDXiufT1nH3FWqLCAq9zvngU8nLUv1jvrkp8hGajy38caidL18ML9E5fYYfJkXQJ", + "z7q2zUpseNi9mxc7jQjYD1aUdcdaAFPMenhrwDvLXotf6NJYJdNfz4zjSADxfEhSWjg", ) .unwrap(); let mk1 = emk.to_inner(); @@ -501,13 +501,7 @@ mod tests { assert_tokens( &n.compact(), &[ - Token::BorrowedBytes(&[ - 59, 32, 118, 137, 82, 114, 197, 206, - 92, 12, 114, 181, 236, 84, 148, 78, - 173, 115, 148, 130, 248, 112, 72, 219, - 191, 193, 59, 135, 48, 8, 179, 29, - 89, 149 - ]), + Token::BorrowedBytes(&[187, 36, 32, 118, 137, 82, 114, 197, 206, 92, 12, 114, 181, 236, 84, 148, 78, 173, 115, 148, 130, 248, 112, 72, 219, 191, 193, 59, 135, 48, 8, 179, 29, 89, 149]), ], ); } @@ -523,7 +517,7 @@ mod tests { assert_tokens( &n.readable(), &[Token::Str( - "f3b2076895272c5ce5c0c72b5ec54944ead739482f87048dbbfc13b873008b31d5995", + "fbb242076895272c5ce5c0c72b5ec54944ead739482f87048dbbfc13b873008b31d5995", )], ); } @@ -556,7 +550,7 @@ mod tests { assert_tokens( &mk.compact(), &[ - Token::BorrowedBytes(&[0x3a, 0x0, 0x0, 0x0]), + Token::BorrowedBytes(&[186, 36, 0, 0, 0]), ] ); } @@ -586,7 +580,7 @@ mod tests { assert_tokens( &mk.readable(), &[ - Token::Str("f3a000000"), + Token::Str("fba24000000"), ] ); } @@ -597,7 +591,7 @@ mod tests { assert_tokens( &n.compact(), &[ - Token::BorrowedBytes(&[59, 0]), + Token::BorrowedBytes(&[187, 36, 0]), ] ); } @@ -622,7 +616,7 @@ mod tests { assert_tokens( &n.readable(), &[ - Token::Str("f3b00"), + Token::Str("fbb2400"), ] ); }