anchor.diff:  
   [source,bash]
   ----
  -lein test
  +lein test-all
   ----
   
   
  
positive.code: ;; wait 5 seconds and try unsign it
  
  (jwe/decrypt token secret)
  ;; => ExceptionInfo throw+: {:type :validation, :cause :exp, :message "Token is older than :exp (1427836475)"}
  ----
  
  The best way to capture this type of exceptions is using
  link:https://github.com/scgilardi/slingshot[slingshot] library:
  
  [source, clojure]
  ----
  (require '[slingshot.slingshot :refer [try+]])
  
  (try+
    (jwe/encrypt token secret)
    (catch [:type :validation] e
      (println "Error: " (:message e))))
  ;; => Will print in console: "Error: Token is older than :exp (1427836475)"
  ----
  
  
  === Asymetric encryption schemes
  
  In order to use any asymetric encryption algorithm, you should have private/public
  key pair. If you don't have one, don't worry, it is very easy to generate it using *openssl*, see
  this <<generate-keypairs,faq entry>>.
  
  Then, having ready the key pair, you can strart using one of the supported key encryption
  algorithm in the JWE specification such as `:rsa1_5`, `:rsa-oaep` or `:rsa-oaep-256`.
  
  Let see an demostration example:
  
  
negative.code: 
  === Claims validation
  
  _buddy-sign_ json web signature implements validation of a concrete subset of
  claims: *exp* (expiration time), *nbf* (not before), *iss* (issuer) and *aud*
  (audience).
  
  The validation is performed on decoding the token. If `:exp` claim is found and
  is posterior to the current date time (UTC) an validation exception will be raised.
  
  Let see an example using direct api:
  
  