Class DOMPGPData
- java.lang.Object
-
- org.apache.jcp.xml.dsig.internal.dom.DOMStructure
-
- org.apache.jcp.xml.dsig.internal.dom.DOMPGPData
-
- All Implemented Interfaces:
javax.xml.crypto.dsig.keyinfo.PGPData
,javax.xml.crypto.XMLStructure
public final class DOMPGPData extends DOMStructure implements javax.xml.crypto.dsig.keyinfo.PGPData
DOM-based implementation of PGPData.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<javax.xml.crypto.XMLStructure>
externalElements
private byte[]
keyId
private byte[]
keyPacket
-
Constructor Summary
Constructors Constructor Description DOMPGPData(byte[] keyId, byte[] keyPacket, java.util.List<? extends javax.xml.crypto.XMLStructure> other)
Creates aDOMPGPData
containing the specified key id and optional key packet and list of external elements.DOMPGPData(byte[] keyPacket, java.util.List<? extends javax.xml.crypto.XMLStructure> other)
Creates aDOMPGPData
containing the specified key packet.DOMPGPData(org.w3c.dom.Element pdElem)
Creates aDOMPGPData
from an element.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkKeyPacket(byte[] keyPacket)
We assume packets use the new format packet syntax, as specified in section 4 of RFC 2440.java.util.List<javax.xml.crypto.XMLStructure>
getExternalElements()
byte[]
getKeyId()
byte[]
getKeyPacket()
void
marshal(org.w3c.dom.Node parent, java.lang.String dsPrefix, javax.xml.crypto.dom.DOMCryptoContext context)
-
Methods inherited from class org.apache.jcp.xml.dsig.internal.dom.DOMStructure
isFeatureSupported
-
-
-
-
Constructor Detail
-
DOMPGPData
public DOMPGPData(byte[] keyPacket, java.util.List<? extends javax.xml.crypto.XMLStructure> other)
Creates aDOMPGPData
containing the specified key packet. and optional list of external elements.- Parameters:
keyPacket
- a PGP Key Material Packet as defined in section 5.5 of RFC 2440. The array is cloned to prevent subsequent modification.other
- a list ofXMLStructure
s representing elements from an external namespace. The list is defensively copied to prevent subsequent modification. May benull
or empty.- Throws:
java.lang.NullPointerException
- ifkeyPacket
isnull
java.lang.IllegalArgumentException
- if the key packet is not in the correct formatjava.lang.ClassCastException
- ifother
contains any entries that are not of typeXMLStructure
-
DOMPGPData
public DOMPGPData(byte[] keyId, byte[] keyPacket, java.util.List<? extends javax.xml.crypto.XMLStructure> other)
Creates aDOMPGPData
containing the specified key id and optional key packet and list of external elements.- Parameters:
keyId
- a PGP public key id as defined in section 11.2 of RFC 2440. The array is cloned to prevent subsequent modification.keyPacket
- a PGP Key Material Packet as defined in section 5.5 of RFC 2440 (may benull
). The array is cloned to prevent subsequent modification.other
- a list ofXMLStructure
s representing elements from an external namespace. The list is defensively copied to prevent subsequent modification. May benull
or empty.- Throws:
java.lang.NullPointerException
- ifkeyId
isnull
java.lang.IllegalArgumentException
- if the key id or packet is not in the correct formatjava.lang.ClassCastException
- ifother
contains any entries that are not of typeXMLStructure
-
DOMPGPData
public DOMPGPData(org.w3c.dom.Element pdElem) throws javax.xml.crypto.MarshalException
Creates aDOMPGPData
from an element.- Parameters:
pdElem
- a PGPData element- Throws:
javax.xml.crypto.MarshalException
-
-
Method Detail
-
getKeyId
public byte[] getKeyId()
- Specified by:
getKeyId
in interfacejavax.xml.crypto.dsig.keyinfo.PGPData
-
getKeyPacket
public byte[] getKeyPacket()
- Specified by:
getKeyPacket
in interfacejavax.xml.crypto.dsig.keyinfo.PGPData
-
getExternalElements
public java.util.List<javax.xml.crypto.XMLStructure> getExternalElements()
- Specified by:
getExternalElements
in interfacejavax.xml.crypto.dsig.keyinfo.PGPData
-
marshal
public void marshal(org.w3c.dom.Node parent, java.lang.String dsPrefix, javax.xml.crypto.dom.DOMCryptoContext context) throws javax.xml.crypto.MarshalException
- Specified by:
marshal
in classDOMStructure
- Throws:
javax.xml.crypto.MarshalException
-
checkKeyPacket
private void checkKeyPacket(byte[] keyPacket)
We assume packets use the new format packet syntax, as specified in section 4 of RFC 2440. This method only checks if the packet contains a valid tag. The contents of the packet should be checked by the application.
-
-