1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.wss4j.stax.impl.processor.input;
20
21 import org.apache.wss4j.stax.ext.WSInboundSecurityContext;
22 import org.apache.xml.security.binding.xmlenc.ReferenceList;
23 import org.apache.wss4j.stax.ext.WSSSecurityProperties;
24 import org.apache.xml.security.exceptions.XMLSecurityException;
25 import org.apache.xml.security.stax.ext.AbstractInputSecurityHeaderHandler;
26 import org.apache.xml.security.stax.ext.InputProcessorChain;
27 import org.apache.xml.security.stax.ext.XMLSecurityProperties;
28 import org.apache.xml.security.stax.ext.stax.XMLSecEvent;
29
30 import java.util.Deque;
31
32
33
34
35 public class ReferenceListInputHandler extends AbstractInputSecurityHeaderHandler {
36
37 @Override
38 public void handle(final InputProcessorChain inputProcessorChain, final XMLSecurityProperties securityProperties,
39 final Deque<XMLSecEvent> eventQueue, final Integer index) throws XMLSecurityException {
40
41 final ReferenceList referenceList = (ReferenceList) parseStructure(eventQueue, index, securityProperties);
42
43
44 inputProcessorChain.addProcessor(
45 new DecryptInputProcessor(null, referenceList, (WSSSecurityProperties) securityProperties,
46 (WSInboundSecurityContext) inputProcessorChain.getSecurityContext()));
47 }
48 }