public final class Utils
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static void |
addCustomTransforms(java.util.List<javax.xml.crypto.dsig.Transform> transforms,
java.util.Properties xParams,
java.lang.String xmlSignaturePrefix)
Añade transformaciones segú la sintaxis de
parámetros adicionales en fichero de propiedades del Cliente @firma
a una lista pre-existente.
|
static void |
checkIllegalParams(java.lang.String format,
java.lang.String mode,
java.net.URI uri,
java.lang.String externallyDetachedHashAlgorithm,
boolean xades)
Comprueba si hay alguna incorrección en los parámetros
principales de firma.
|
static int |
countSubstring(java.lang.String text,
java.lang.String substring)
Cuenta las repeticiones de una subcadena dentro de una cadena.
|
static java.security.cert.X509Certificate |
createCert(java.lang.String b64Cert)
Crea un X509Certificate a partir de un certificado en Base64.
|
static java.security.cert.X509Certificate |
getCertificate(org.w3c.dom.Node certificateNode)
Genera un certificado X.509 a partir de un nodo de certificado de firma.
|
static java.lang.String |
getCounterSignerReferenceId(org.w3c.dom.Element signature,
org.w3c.dom.NodeList signatureValues)
Recupera el identificador (id) de la firma sobre la que se ha realizado
una contrafirma.
|
static javax.xml.crypto.dsig.XMLSignatureFactory |
getDOMFactory()
Recupera la factoría de firmas XML preferente.
|
static java.util.List<javax.xml.crypto.dsig.Transform> |
getObjectReferenceTransforms(org.w3c.dom.Node referenceNode,
java.lang.String namespacePrefix)
Obtiene de un nodo de referencia de tipo Object la lista de
transformaciones definidas.
|
static AOSimpleSignInfo |
getSimpleSignInfoNode(java.lang.String namespace,
org.w3c.dom.Element signature)
Genera un objeto descriptor de firma.
|
static java.lang.String |
getStringInfoNode(org.w3c.dom.Element signature)
Obtiene el CN del certificado de una firma.
|
static java.lang.String |
guessXAdESNamespacePrefix(org.w3c.dom.Element el)
Intenta determinar el prefijo del espacio de nombres de XAdES.
|
static java.lang.String |
guessXAdESNamespaceURL(org.w3c.dom.Node el)
Intenta determinar la URL de declaración de espacio de nombres de
XAdES de una firma XAdES.
|
static java.lang.String |
guessXmlDSigNamespacePrefix(org.w3c.dom.Element el)
Intenta determinar el prefijo del espacio de nombres de la firma XMLDSig.
|
static void |
installXmlDSigProvider()
Instala el proveedor de firmas XMLDSig para el entorno de ejecución de Java en uso.
|
static byte[] |
writeXML(org.w3c.dom.Node node,
java.util.Map<java.lang.String,java.lang.String> props,
java.lang.String styleHref,
java.lang.String styleType)
Escribe un XML como texto.
|
public static void addCustomTransforms(java.util.List<javax.xml.crypto.dsig.Transform> transforms, java.util.Properties xParams, java.lang.String xmlSignaturePrefix)
transforms
- Lista a la que añadir las transformacionesxParams
- Información sobre las transformaciones a añadirxmlSignaturePrefix
- Prefijo XMLDSigpublic static java.util.List<javax.xml.crypto.dsig.Transform> getObjectReferenceTransforms(org.w3c.dom.Node referenceNode, java.lang.String namespacePrefix) throws java.security.NoSuchAlgorithmException, java.security.InvalidAlgorithmParameterException
null
.referenceNode
- Nodo de tipo referencia.namespacePrefix
- Prefijo del espacio de nombres de la firma (opcional).java.security.InvalidAlgorithmParameterException
- Cuando se encuentre un parámetro inválido para
el algoritmo de transformación.java.security.NoSuchAlgorithmException
- Cuando se encuentre un algoritmo de transformación no soportado.public static void checkIllegalParams(java.lang.String format, java.lang.String mode, java.net.URI uri, java.lang.String externallyDetachedHashAlgorithm, boolean xades)
format
- Formato de firmamode
- Modo de firmauri
- URI del objeto a firmarexternallyDetachedHashAlgorithm
- Algoritmo de huella digital en el caso de estar esta
pre-calculadaxades
- true
si la firma es XAdES, false
si
es XMLDSigpublic static java.lang.String guessXAdESNamespaceURL(org.w3c.dom.Node el)
el
- Firma XAdESpublic static java.lang.String guessXAdESNamespacePrefix(org.w3c.dom.Element el)
el
- Firma XAdESpublic static java.lang.String guessXmlDSigNamespacePrefix(org.w3c.dom.Element el)
el
- Firma XMLDSigpublic static int countSubstring(java.lang.String text, java.lang.String substring)
text
- Texto en el que realizar la búsqueda.substring
- Subcadena que deseamos buscar.public static byte[] writeXML(org.w3c.dom.Node node, java.util.Map<java.lang.String,java.lang.String> props, java.lang.String styleHref, java.lang.String styleType)
node
- Nodo XML que queremos pasar a textoprops
- Propiedades del XML (version, encoding,
standalone)styleHref
- Referencia (enlace) a la hoja de estilo del XML (puede ser
nulo)styleType
- Tipo de la hoja de estilo del XML (puede ser nulo)public static AOSimpleSignInfo getSimpleSignInfoNode(java.lang.String namespace, org.w3c.dom.Element signature)
namespace
- Espacio de nombres utilizado para la recuperación de
atributos XAdES.signature
- Nodo de firma.public static java.lang.String getStringInfoNode(org.w3c.dom.Element signature)
signature
- Nodo de firma.public static java.security.cert.X509Certificate getCertificate(org.w3c.dom.Node certificateNode)
certificateNode
- Nodo "X509Certificate" de la firma.public static java.lang.String getCounterSignerReferenceId(org.w3c.dom.Element signature, org.w3c.dom.NodeList signatureValues)
signature
- Nodo de la contrafirma.signatureValues
- Listado con todos los SignatureValue del documento de firma.public static java.security.cert.X509Certificate createCert(java.lang.String b64Cert)
b64Cert
- Certificado en Base64. No debe incluir Bag Attributesnull
si no se pudo crearpublic static javax.xml.crypto.dsig.XMLSignatureFactory getDOMFactory()
public static void installXmlDSigProvider()