1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.ksb.security;
17
18 import java.security.Signature;
19 import java.security.cert.Certificate;
20
21 import javax.servlet.http.HttpServletResponse;
22
23 import org.apache.commons.lang.StringUtils;
24 import org.kuali.rice.ksb.util.KSBConstants;
25
26
27
28
29
30
31 public class ResponseHeaderDigitalSigner extends AbstractDigitalSigner {
32
33 private String alias;
34 private Certificate certificate;
35 private HttpServletResponse response;
36
37 public ResponseHeaderDigitalSigner(Signature signature, String alias, HttpServletResponse response) {
38 super(signature);
39 this.alias = alias;
40 this.response = response;
41 }
42
43 public ResponseHeaderDigitalSigner(Signature signature, String alias, Certificate certificate, HttpServletResponse response) {
44 this(signature, alias, response);
45 this.certificate = certificate;
46 }
47
48 public ResponseHeaderDigitalSigner(Signature signature, Certificate certificate, HttpServletResponse response) {
49 super(signature);
50 this.certificate = certificate;
51 this.response = response;
52 }
53
54 public void sign() throws Exception {
55 if (StringUtils.isNotBlank(this.alias) ) {
56 this.response.setHeader(KSBConstants.KEYSTORE_ALIAS_HEADER, this.alias);
57 }
58 if (this.certificate != null) {
59 this.response.setHeader(KSBConstants.KEYSTORE_CERTIFICATE_HEADER, getEncodedCertificate(this.certificate));
60 }
61 this.response.setHeader(KSBConstants.DIGITAL_SIGNATURE_HEADER, getEncodedSignature());
62 }
63
64 }