Skip to content

Commit

Permalink
Merge pull request #68 from yotamofek/update-deps
Browse files Browse the repository at this point in the history
Update `crypto-mac` and `hmac` deps.
  • Loading branch information
mikkyang committed Jun 5, 2021
2 parents a65a5b3 + 3c962bd commit f975dd3
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 27 deletions.
4 changes: 2 additions & 2 deletions Cargo.toml
Expand Up @@ -16,9 +16,9 @@ features = ["openssl"]

[dependencies]
base64 = "0.13"
crypto-mac = "0.10"
crypto-mac = "0.11"
digest = "0.9"
hmac = "0.10"
hmac = "0.11"
sha2 = "0.9"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
Expand Down
12 changes: 6 additions & 6 deletions README.md
Expand Up @@ -31,7 +31,7 @@ use jwt::SignWithKey;
use sha2::Sha256;
use std::collections::BTreeMap;

let key: Hmac<Sha256> = Hmac::new_varkey(b"some-secret").unwrap();
let key: Hmac<Sha256> = Hmac::new_from_slice(b"some-secret").unwrap();
let mut claims = BTreeMap::new();
claims.insert("sub", "someone");

Expand All @@ -51,7 +51,7 @@ use jwt::VerifyWithKey;
use sha2::Sha256;
use std::collections::BTreeMap;

let key: Hmac<Sha256> = Hmac::new_varkey(b"some-secret").unwrap();
let key: Hmac<Sha256> = Hmac::new_from_slice(b"some-secret").unwrap();
let token_str = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJzb21lb25lIn0.5wwE1sBrs-vftww_BGIuTVDeHtc1Jsjo-fiHhDwR8m0";

let claims: BTreeMap<String, String> = token_str.verify_with_key(&key).unwrap();
Expand All @@ -75,7 +75,7 @@ use jwt::{AlgorithmType, Header, SignWithKey, Token};
use sha2::Sha384;
use std::collections::BTreeMap;

let key: Hmac<Sha384> = Hmac::new_varkey(b"some-secret").unwrap();
let key: Hmac<Sha384> = Hmac::new_from_slice(b"some-secret").unwrap();
let header = Header {
algorithm: AlgorithmType::Hs384,
..Default::default()
Expand All @@ -98,7 +98,7 @@ use jwt::{AlgorithmType, Header, Token, VerifyWithKey};
use sha2::Sha384;
use std::collections::BTreeMap;

let key: Hmac<Sha384> = Hmac::new_varkey(b"some-secret").unwrap();
let key: Hmac<Sha384> = Hmac::new_from_slice(b"some-secret").unwrap();
let token_str = "eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJzb21lb25lIn0.WM_WnPUkHK6zm6Wz7zk1kmIxz990Te7nlDjQ3vzcye29szZ-Sj47rLNSTJNzpQd_";

let token: Token<Header, BTreeMap<String, String>, _> = VerifyWithKey::verify_with_key(token_str, &key).unwrap();
Expand Down Expand Up @@ -126,8 +126,8 @@ use sha2::Sha512;
use std::collections::BTreeMap;

let mut store: BTreeMap<_, Hmac<Sha512>> = BTreeMap::new();
store.insert("first_key", Hmac::new_varkey(b"first").unwrap());
store.insert("second_key", Hmac::new_varkey(b"second").unwrap());
store.insert("first_key", Hmac::new_from_slice(b"first").unwrap());
store.insert("second_key", Hmac::new_from_slice(b"second").unwrap());

let mut claims = BTreeMap::new();
claims.insert("sub", "someone");
Expand Down
4 changes: 2 additions & 2 deletions examples/custom_claims.rs
Expand Up @@ -22,7 +22,7 @@ fn new_token(user_id: &str, password: &str) -> Result<String, &'static str> {
};
let unsigned_token = Token::new(header, claims);

let key: Hmac<Sha256> = Hmac::new_varkey(b"secret_key").map_err(|_e| "Invalid key")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret_key").map_err(|_e| "Invalid key")?;

let signed_token = unsigned_token
.sign_with_key(&key)
Expand All @@ -31,7 +31,7 @@ fn new_token(user_id: &str, password: &str) -> Result<String, &'static str> {
}

fn login(token: &str) -> Result<String, &'static str> {
let key: Hmac<Sha256> = Hmac::new_varkey(b"secret_key").map_err(|_e| "Invalid key")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret_key").map_err(|_e| "Invalid key")?;

let token: Token<Header, Custom, _> =
VerifyWithKey::verify_with_key(token, &key).map_err(|_e| "Verification failed")?;
Expand Down
4 changes: 2 additions & 2 deletions examples/hs256.rs
Expand Up @@ -14,15 +14,15 @@ fn new_token(user_id: &str, password: &str) -> Result<String, &'static str> {
..Default::default()
};

let key: Hmac<Sha256> = Hmac::new_varkey(b"secret_key").map_err(|_e| "Invalid key")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret_key").map_err(|_e| "Invalid key")?;

let signed_token = claims.sign_with_key(&key).map_err(|_e| "Sign failed")?;

Ok(signed_token)
}

fn login(token: &str) -> Result<String, &'static str> {
let key: Hmac<Sha256> = Hmac::new_varkey(b"secret_key").map_err(|_e| "Invalid key")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret_key").map_err(|_e| "Invalid key")?;
let claims: RegisteredClaims =
VerifyWithKey::verify_with_key(token, &key).map_err(|_e| "Parse failed")?;

Expand Down
2 changes: 1 addition & 1 deletion src/algorithm/mod.rs
Expand Up @@ -7,7 +7,7 @@
//! use hmac::{Hmac, NewMac};
//! use sha2::Sha256;
//!
//! let hs256_key: Hmac<Sha256> = Hmac::new_varkey(b"some-secret").unwrap();
//! let hs256_key: Hmac<Sha256> = Hmac::new_from_slice(b"some-secret").unwrap();
//! ```

use serde::{Deserialize, Serialize};
Expand Down
4 changes: 2 additions & 2 deletions src/algorithm/rust_crypto.rs
Expand Up @@ -95,7 +95,7 @@ mod tests {
let claims = "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9";
let expected_signature = "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";

let signer: Hmac<Sha256> = Hmac::new_varkey(b"secret")?;
let signer: Hmac<Sha256> = Hmac::new_from_slice(b"secret")?;
let computed_signature = SigningAlgorithm::sign(&signer, &header, &claims)?;

assert_eq!(computed_signature, expected_signature);
Expand All @@ -108,7 +108,7 @@ mod tests {
let claims = "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9";
let signature = "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";

let verifier: Hmac<Sha256> = Hmac::new_varkey(b"secret")?;
let verifier: Hmac<Sha256> = Hmac::new_from_slice(b"secret")?;
assert!(VerifyingAlgorithm::verify(
&verifier, &header, &claims, &signature
)?);
Expand Down
12 changes: 6 additions & 6 deletions src/lib.rs
Expand Up @@ -15,7 +15,7 @@
//!
//! # use jwt::Error;
//! # fn try_main() -> Result<(), Error> {
//! let key: Hmac<Sha256> = Hmac::new_varkey(b"some-secret")?;
//! let key: Hmac<Sha256> = Hmac::new_from_slice(b"some-secret")?;
//! let mut claims = BTreeMap::new();
//! claims.insert("sub", "someone");
//! let token_str = claims.sign_with_key(&key)?;
Expand All @@ -35,7 +35,7 @@
//!
//! # use jwt::Error;
//! # fn try_main() -> Result<(), Error> {
//! let key: Hmac<Sha256> = Hmac::new_varkey(b"some-secret")?;
//! let key: Hmac<Sha256> = Hmac::new_from_slice(b"some-secret")?;
//! let token_str = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJzb21lb25lIn0.5wwE1sBrs-vftww_BGIuTVDeHtc1Jsjo-fiHhDwR8m0";
//! let claims: BTreeMap<String, String> = token_str.verify_with_key(&key)?;
//! assert_eq!(claims["sub"], "someone");
Expand All @@ -57,7 +57,7 @@
//!
//! # use jwt::Error;
//! # fn try_main() -> Result<(), Error> {
//! let key: Hmac<Sha384> = Hmac::new_varkey(b"some-secret")?;
//! let key: Hmac<Sha384> = Hmac::new_from_slice(b"some-secret")?;
//! let header = Header {
//! algorithm: AlgorithmType::Hs384,
//! ..Default::default()
Expand All @@ -80,7 +80,7 @@
//!
//! # use jwt::Error;
//! # fn try_main() -> Result<(), Error> {
//! let key: Hmac<Sha384> = Hmac::new_varkey(b"some-secret")?;
//! let key: Hmac<Sha384> = Hmac::new_from_slice(b"some-secret")?;
//! let token_str = "eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJzb21lb25lIn0.WM_WnPUkHK6zm6Wz7zk1kmIxz990Te7nlDjQ3vzcye29szZ-Sj47rLNSTJNzpQd_";
//! let token: Token<Header, BTreeMap<String, String>, _> = token_str.verify_with_key(&key)?;
//! let header = token.header();
Expand Down Expand Up @@ -208,7 +208,7 @@ mod tests {

assert_eq!(token.header.algorithm, Hs256);

let verifier: Hmac<Sha256> = Hmac::new_varkey(b"secret")?;
let verifier: Hmac<Sha256> = Hmac::new_from_slice(b"secret")?;
assert!(token.verify_with_key(&verifier).is_ok());

Ok(())
Expand All @@ -217,7 +217,7 @@ mod tests {
#[test]
pub fn roundtrip() -> Result<(), Error> {
let token: Token<Header, Claims, _> = Default::default();
let key: Hmac<Sha256> = Hmac::new_varkey(b"secret")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret")?;
let signed_token = token.sign_with_key(&key)?;
let signed_token_str = signed_token.as_str();

Expand Down
6 changes: 3 additions & 3 deletions src/token/signed.rs
Expand Up @@ -159,7 +159,7 @@ mod tests {
#[test]
pub fn sign_claims() -> Result<(), Error> {
let claims = Claims { name: "John Doe" };
let key: Hmac<Sha256> = Hmac::new_varkey(b"secret")?;
let key: Hmac<Sha256> = Hmac::new_from_slice(b"secret")?;

let signed_token = claims.sign_with_key(&key)?;

Expand All @@ -170,8 +170,8 @@ mod tests {
#[test]
pub fn sign_unsigned_with_store() -> Result<(), Error> {
let mut key_store = BTreeMap::new();
let key1: Hmac<Sha512> = Hmac::new_varkey(b"first")?;
let key2: Hmac<Sha512> = Hmac::new_varkey(b"second")?;
let key1: Hmac<Sha512> = Hmac::new_from_slice(b"first")?;
let key2: Hmac<Sha512> = Hmac::new_from_slice(b"second")?;
key_store.insert("first_key".to_owned(), key1);
key_store.insert("second_key".to_owned(), key2);

Expand Down
6 changes: 3 additions & 3 deletions src/token/verified.rs
Expand Up @@ -201,7 +201,7 @@ mod tests {

#[test]
pub fn component_errors() {
let key: Hmac<Sha256> = Hmac::new_varkey(b"first").unwrap();
let key: Hmac<Sha256> = Hmac::new_from_slice(b"first").unwrap();

let no_claims = "header";
match VerifyWithKey::<String>::verify_with_key(no_claims, &key) {
Expand Down Expand Up @@ -232,8 +232,8 @@ mod tests {
T: FromIterator<(&'static str, Box<dyn VerifyingAlgorithm>)>,
{
// Test two different algorithms in the same store
let key1: Hmac<Sha256> = Hmac::new_varkey(b"first")?;
let key2: Hmac<Sha512> = Hmac::new_varkey(b"second")?;
let key1: Hmac<Sha256> = Hmac::new_from_slice(b"first")?;
let key2: Hmac<Sha512> = Hmac::new_from_slice(b"second")?;

let name_to_key_tuples = vec![
("first_key", Box::new(key1) as Box<dyn VerifyingAlgorithm>),
Expand Down

0 comments on commit f975dd3

Please sign in to comment.