package org.jboss.resteasy.security.doseta;

import org.jboss.resteasy.annotations.security.doseta.After;
import org.jboss.resteasy.annotations.security.doseta.Signed;

Author:Bill Burke
Version:$Revision: 1 $
/** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */
public class AbstractDigitalSigningHeaderDecorator { protected Signed signed; protected DKIMSignature createHeader(KeyRepository repository) { DKIMSignature header = new DKIMSignature(); if (signed.domain() != null && !signed.domain().equals("")) { header.setDomain(signed.domain()); } else { if (repository != null) { header.setDomain(repository.getDefaultPrivateDomain()); } } if (signed.algorithm() != null && !signed.algorithm().equals("")) { header.setAlgorithm(signed.algorithm()); } if (signed.selector() != null && !signed.selector().equals("")) { header.setSelector(signed.selector()); } else { if (repository != null) { header.setSelector(repository.getDefaultPrivateSelector()); } } if (signed.timestamped()) { header.setTimestamp(); } After after = signed.expires(); if (after.seconds() > 0 || after.minutes() > 0 || after.hours() > 0 || after.days() > 0 || after.months() > 0 || after.years() > 0) { header.setExpiration(after.seconds(), after.minutes(), after.hours(), after.days(), after.months(), after.years()); } return header; } }