From 29037a0df766426b0972de75624104c9a84deacf Mon Sep 17 00:00:00 2001 From: Thomas Gideon Date: Wed, 15 Feb 2017 13:50:12 -0500 Subject: [PATCH] Change one operation over to new higher level fn --- src/lib.rs | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 626e89d..9e9847d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -115,31 +115,11 @@ impl Token /// Generate the signed token from a key and the specific algorithm pub fn signed(&self, key: &[u8]) -> Result { - match self.header.alg() { - &Algorithm::HS256 => self.signed_hmac(key, MessageDigest::sha256()), - &Algorithm::HS384 => self.signed_hmac(key, MessageDigest::sha384()), - &Algorithm::HS512 => self.signed_hmac(key, MessageDigest::sha512()), - &Algorithm::RS256 => self.signed_rsa(key, MessageDigest::sha256()), - &Algorithm::RS384 => self.signed_rsa(key, MessageDigest::sha384()), - &Algorithm::RS512 => self.signed_rsa(key, MessageDigest::sha512()), - } - } - - fn signed_hmac(&self, key: &[u8], digest: MessageDigest) -> Result { let header = try!(Component::to_base64(&self.header)); let claims = try!(self.claims.to_base64()); let data = format!("{}.{}", header, claims); - let sig = crypt::sign_hmac(&*data, key, digest); - Ok(format!("{}.{}", data, sig)) - } - - fn signed_rsa(&self, key: &[u8], digest: MessageDigest) -> Result { - let header = try!(Component::to_base64(&self.header)); - let claims = try!(self.claims.to_base64()); - let data = format!("{}.{}", header, claims); - - let sig = crypt::sign_rsa(&*data, key, digest); + let sig = crypt::sign(&*data, key, &self.header.alg()); Ok(format!("{}.{}", data, sig)) } } @@ -176,7 +156,7 @@ mod tests { } #[test] - pub fn roundtrip() { + pub fn roundtrip_hmac() { let token: Token> = Default::default(); let key = "secret".as_bytes(); let raw = token.signed(key).unwrap();