package org.jboss.resteasy.annotations.security.doseta; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Convenience annotation that triggers the signing of a request or response using the DOSETA specification. * Will create a Doseta-Signature header. * <p/> * By default simple canonicalization will be used for both header and body. * <p/> * Private keys are never discovered via DNS. * <p/> * The private key used to sign is discovered in the KeyRepository via an alias of * (selector + ".")? + "_domainKey." + domain - Same as the doseta specification * <p/> * <p/> * <p/> * <p/> * If you want more fine-grain control over the signature header * then you must create your own DosetaSignature instances and pass it with the request or response * you want to sign. * * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ * @See org.jboss.resteasy.security.keys.KeyRepository */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface Signed { String algorithm() default ""; /** * If there is no domain, then abort. * <p/> * If not set, the runtime may set a default domain. See documentation for details. * * @return */ String domain() default ""; /** * A default may be used if not set. See documentation for more details. * * @return */ String selector() default ""; /** * Will calculate and add a timestamp * * @return */ boolean timestamped() default false; After expires() default @After; }