You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2020/01/16 14:47:02 UTC
svn commit: r1872884 - in /santuario/xml-security-java/trunk/src:
main/java/org/apache/xml/security/algorithms/
main/java/org/apache/xml/security/algorithms/implementations/
main/java/org/apache/xml/security/resource/
test/java/org/apache/xml/security/...
Author: coheigea
Date: Thu Jan 16 14:47:02 2020
New Revision: 1872884
URL: http://svn.apache.org/viewvc?rev=1872884&view=rev
Log:
Minor SignatureAlgorithmSpi refactor
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithmSpi.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/IntegrityHmac.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureECDSA.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_de.properties
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_en.properties
santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java Thu Jan 16 14:47:02 2020
@@ -164,8 +164,7 @@ public class SignatureAlgorithm extends
private static SignatureAlgorithmSpi getSignatureAlgorithmSpi(String algorithmURI, Provider provider)
throws XMLSignatureException {
try {
- Class<? extends SignatureAlgorithmSpi> implementingClass =
- algorithmHash.get(algorithmURI);
+ Class<? extends SignatureAlgorithmSpi> implementingClass = algorithmHash.get(algorithmURI);
LOG.debug("Create URI \"{}\" class \"{}\"", algorithmURI, implementingClass);
if (implementingClass == null) {
Object[] exArgs = { algorithmURI };
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithmSpi.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithmSpi.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithmSpi.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithmSpi.java Thu Jan 16 14:47:02 2020
@@ -156,7 +156,7 @@ public abstract class SignatureAlgorithm
*
* @param element
*/
- protected void engineGetContextFromElement(Element element) {
+ protected void engineGetContextFromElement(Element element) throws XMLSignatureException {
}
/**
@@ -168,6 +168,4 @@ public abstract class SignatureAlgorithm
protected abstract void engineSetHMACOutputLength(int HMACOutputLength)
throws XMLSignatureException;
- public void reset() {
- }
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/IntegrityHmac.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/IntegrityHmac.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/IntegrityHmac.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/IntegrityHmac.java Thu Jan 16 14:47:02 2020
@@ -46,18 +46,10 @@ public abstract class IntegrityHmac exte
org.slf4j.LoggerFactory.getLogger(IntegrityHmac.class);
/** Field macAlgorithm */
- private Mac macAlgorithm;
+ private final Mac macAlgorithm;
- /** Field HMACOutputLength */
- private int HMACOutputLength;
- private boolean HMACOutputLengthSet = false;
-
- /**
- * Method engineGetURI
- *
- *{@inheritDoc}
- */
- public abstract String engineGetURI();
+ /** Field hmacOutputLength */
+ private HMACOutputLength hmacOutputLength;
/**
* Returns the output length of the hash/digest.
@@ -98,12 +90,6 @@ public abstract class IntegrityHmac exte
throw new XMLSignatureException("empty", new Object[]{"Incorrect method call"});
}
- public void reset() {
- HMACOutputLength = 0;
- HMACOutputLengthSet = false;
- this.macAlgorithm.reset();
- }
-
/**
* Proxy method for {@link java.security.Signature#verify(byte[])}
* which is executed on the internal {@link java.security.Signature} object.
@@ -114,7 +100,7 @@ public abstract class IntegrityHmac exte
*/
protected boolean engineVerify(byte[] signature) throws XMLSignatureException {
try {
- if (this.HMACOutputLengthSet && this.HMACOutputLength < getDigestLength()) {
+ if (hmacOutputLength != null && hmacOutputLength.length < getDigestLength()) {
LOG.debug("HMACOutputLength must not be less than {}", getDigestLength());
Object[] exArgs = { String.valueOf(getDigestLength()) };
throw new XMLSignatureException("algorithms.HMACOutputLengthMin", exArgs);
@@ -149,16 +135,6 @@ public abstract class IntegrityHmac exte
try {
this.macAlgorithm.init(secretKey);
} catch (InvalidKeyException ex) {
- // reinstantiate Mac object to work around bug in JDK
- // see: http://bugs.sun.com/view_bug.do?bug_id=4953555
- Mac mac = this.macAlgorithm;
- try {
- this.macAlgorithm = Mac.getInstance(macAlgorithm.getAlgorithm());
- } catch (Exception e) {
- // this shouldn't occur, but if it does, restore previous Mac
- LOG.debug("Exception when reinstantiating Mac: {}", e);
- this.macAlgorithm = mac;
- }
throw new XMLSignatureException(ex);
}
}
@@ -172,7 +148,7 @@ public abstract class IntegrityHmac exte
*/
protected byte[] engineSign() throws XMLSignatureException {
try {
- if (this.HMACOutputLengthSet && this.HMACOutputLength < getDigestLength()) {
+ if (hmacOutputLength != null && hmacOutputLength.length < getDigestLength()) {
LOG.debug("HMACOutputLength must not be less than {}", getDigestLength());
Object[] exArgs = { String.valueOf(getDigestLength()) };
throw new XMLSignatureException("algorithms.HMACOutputLengthMin", exArgs);
@@ -308,21 +284,22 @@ public abstract class IntegrityHmac exte
/**
* Method engineSetHMACOutputLength
*
- * @param HMACOutputLength
+ * @param length
+ * @throws XMLSignatureException
*/
- protected void engineSetHMACOutputLength(int HMACOutputLength) {
- this.HMACOutputLength = HMACOutputLength;
- this.HMACOutputLengthSet = true;
+ @Override
+ protected void engineSetHMACOutputLength(int length) throws XMLSignatureException {
+ hmacOutputLength = new HMACOutputLength(length);
}
/**
* Method engineGetContextFromElement
*
* @param element
+ * @throws XMLSignatureException
*/
- protected void engineGetContextFromElement(Element element) {
- super.engineGetContextFromElement(element);
-
+ @Override
+ protected void engineGetContextFromElement(Element element) throws XMLSignatureException {
if (element == null) {
throw new IllegalArgumentException("element null");
}
@@ -331,8 +308,7 @@ public abstract class IntegrityHmac exte
if (n != null) {
String hmacLength = XMLUtils.getFullTextChildrenFromNode(n);
if (hmacLength != null && !"".equals(hmacLength)) {
- this.HMACOutputLength = Integer.parseInt(hmacLength);
- this.HMACOutputLengthSet = true;
+ this.hmacOutputLength = new HMACOutputLength(Integer.parseInt(hmacLength));
}
}
}
@@ -347,12 +323,12 @@ public abstract class IntegrityHmac exte
throw new IllegalArgumentException("null element");
}
- if (this.HMACOutputLengthSet) {
+ if (hmacOutputLength != null) {
Document doc = element.getOwnerDocument();
Element HMElem =
XMLUtils.createElementInSignatureSpace(doc, Constants._TAG_HMACOUTPUTLENGTH);
Text HMText =
- doc.createTextNode("" + this.HMACOutputLength);
+ doc.createTextNode("" + hmacOutputLength.length);
HMElem.appendChild(HMText);
XMLUtils.addReturnToElement(element);
@@ -384,10 +360,12 @@ public abstract class IntegrityHmac exte
* {@inheritDoc}
*
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_SHA1;
}
+ @Override
int getDigestLength() {
return 160;
}
@@ -416,10 +394,12 @@ public abstract class IntegrityHmac exte
*
* {@inheritDoc}
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_SHA224;
}
+ @Override
int getDigestLength() {
return 224;
}
@@ -448,10 +428,12 @@ public abstract class IntegrityHmac exte
*
* {@inheritDoc}
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_SHA256;
}
+ @Override
int getDigestLength() {
return 256;
}
@@ -480,10 +462,12 @@ public abstract class IntegrityHmac exte
* {@inheritDoc}
*
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_SHA384;
}
+ @Override
int getDigestLength() {
return 384;
}
@@ -512,10 +496,12 @@ public abstract class IntegrityHmac exte
* {@inheritDoc}
*
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_SHA512;
}
+ @Override
int getDigestLength() {
return 512;
}
@@ -544,10 +530,12 @@ public abstract class IntegrityHmac exte
*
* {@inheritDoc}
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_RIPEMD160;
}
+ @Override
int getDigestLength() {
return 160;
}
@@ -576,12 +564,36 @@ public abstract class IntegrityHmac exte
*
* {@inheritDoc}
*/
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5;
}
+ @Override
int getDigestLength() {
return 128;
}
}
+
+ private static class HMACOutputLength {
+ private static final int MIN_LENGTH = 128;
+ private static final int MAX_LENGTH = 2048;
+ private final int length;
+
+ public HMACOutputLength(int length) throws XMLSignatureException {
+ this.length = length;
+
+ // Test some invariants
+ if (length < MIN_LENGTH) {
+ LOG.debug("HMACOutputLength must not be less than {}", MIN_LENGTH);
+ Object[] exArgs = { String.valueOf(MIN_LENGTH) };
+ throw new XMLSignatureException("algorithms.HMACOutputLengthMin", exArgs);
+ }
+ if (length > MAX_LENGTH) {
+ LOG.debug("HMACOutputLength must not be more than {}", MAX_LENGTH);
+ Object[] exArgs = { String.valueOf(MAX_LENGTH) };
+ throw new XMLSignatureException("algorithms.HMACOutputLengthMax", exArgs);
+ }
+ }
+ }
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java Thu Jan 16 14:47:02 2020
@@ -41,11 +41,8 @@ public abstract class SignatureBaseRSA e
private static final org.slf4j.Logger LOG =
org.slf4j.LoggerFactory.getLogger(SignatureBaseRSA.class);
- /** {@inheritDoc} */
- public abstract String engineGetURI();
-
/** Field algorithm */
- private Signature signatureAlgorithm;
+ private final Signature signatureAlgorithm;
/**
* Constructor SignatureRSA
@@ -119,17 +116,6 @@ public abstract class SignatureBaseRSA e
try {
this.signatureAlgorithm.initVerify((PublicKey) publicKey);
} catch (InvalidKeyException ex) {
- // reinstantiate Signature object to work around bug in JDK
- // see: http://bugs.sun.com/view_bug.do?bug_id=4953555
- Signature sig = this.signatureAlgorithm;
- try {
- this.signatureAlgorithm = Signature.getInstance(signatureAlgorithm.getAlgorithm());
- } catch (Exception e) {
- // this shouldn't occur, but if it does, restore previous
- // Signature
- LOG.debug("Exception when reinstantiating Signature: {}", e);
- this.signatureAlgorithm = sig;
- }
throw new XMLSignatureException(ex);
}
}
@@ -242,6 +228,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1;
}
@@ -266,6 +253,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224;
}
@@ -290,6 +278,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256;
}
@@ -314,6 +303,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384;
}
@@ -338,6 +328,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512;
}
@@ -362,6 +353,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160;
}
@@ -386,6 +378,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5;
}
@@ -410,6 +403,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1_MGF1;
}
@@ -434,6 +428,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224_MGF1;
}
@@ -458,6 +453,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256_MGF1;
}
@@ -482,6 +478,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384_MGF1;
}
@@ -506,6 +503,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512_MGF1;
}
@@ -530,6 +528,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_224_MGF1;
}
@@ -554,6 +553,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_256_MGF1;
}
@@ -578,6 +578,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_384_MGF1;
}
@@ -602,6 +603,7 @@ public abstract class SignatureBaseRSA e
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_512_MGF1;
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java Thu Jan 16 14:47:02 2020
@@ -49,7 +49,7 @@ public class SignatureDSA extends Signat
org.slf4j.LoggerFactory.getLogger(SignatureDSA.class);
/** Field algorithm */
- private Signature signatureAlgorithm;
+ private final Signature signatureAlgorithm;
/** size of Q */
private int size;
@@ -122,8 +122,7 @@ public class SignatureDSA extends Signat
LOG.debug("Called DSA.verify() on " + XMLUtils.encodeToString(signature));
}
- byte[] jcebytes = JavaUtils.convertDsaXMLDSIGtoASN1(signature,
- size/8);
+ byte[] jcebytes = JavaUtils.convertDsaXMLDSIGtoASN1(signature, size / 8);
return this.signatureAlgorithm.verify(jcebytes);
} catch (SignatureException ex) {
@@ -151,17 +150,6 @@ public class SignatureDSA extends Signat
try {
this.signatureAlgorithm.initVerify((PublicKey) publicKey);
} catch (InvalidKeyException ex) {
- // reinstantiate Signature object to work around bug in JDK
- // see: http://bugs.sun.com/view_bug.do?bug_id=4953555
- Signature sig = this.signatureAlgorithm;
- try {
- this.signatureAlgorithm = Signature.getInstance(signatureAlgorithm.getAlgorithm());
- } catch (Exception e) {
- // this shouldn't occur, but if it does, restore previous
- // Signature
- LOG.debug("Exception when reinstantiating Signature: {}", e);
- this.signatureAlgorithm = sig;
- }
throw new XMLSignatureException(ex);
}
size = ((DSAKey)publicKey).getParams().getQ().bitLength();
@@ -174,7 +162,7 @@ public class SignatureDSA extends Signat
try {
byte[] jcebytes = this.signatureAlgorithm.sign();
- return JavaUtils.convertDsaASN1toXMLDSIG(jcebytes, size/8);
+ return JavaUtils.convertDsaASN1toXMLDSIG(jcebytes, size / 8);
} catch (IOException ex) {
throw new XMLSignatureException(ex);
} catch (SignatureException ex) {
@@ -301,6 +289,7 @@ public class SignatureDSA extends Signat
super(provider);
}
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_DSA_SHA256;
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureECDSA.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureECDSA.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureECDSA.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureECDSA.java Thu Jan 16 14:47:02 2020
@@ -45,11 +45,7 @@ public abstract class SignatureECDSA ext
private static final org.slf4j.Logger LOG =
org.slf4j.LoggerFactory.getLogger(SignatureECDSA.class);
- /** {@inheritDoc} */
- public abstract String engineGetURI();
-
- /** Field algorithm */
- private Signature signatureAlgorithm;
+ private final Signature signatureAlgorithm;
/**
* Converts an ASN.1 ECDSA value to a XML Signature ECDSA Value.
@@ -166,17 +162,6 @@ public abstract class SignatureECDSA ext
try {
this.signatureAlgorithm.initVerify((PublicKey) publicKey);
} catch (InvalidKeyException ex) {
- // reinstantiate Signature object to work around bug in JDK
- // see: http://bugs.sun.com/view_bug.do?bug_id=4953555
- Signature sig = this.signatureAlgorithm;
- try {
- this.signatureAlgorithm = Signature.getInstance(signatureAlgorithm.getAlgorithm());
- } catch (Exception e) {
- // this shouldn't occur, but if it does, restore previous
- // Signature
- LOG.debug("Exception when reinstantiating Signature: {}", e);
- this.signatureAlgorithm = sig;
- }
throw new XMLSignatureException(ex);
}
}
@@ -293,6 +278,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA1;
}
@@ -317,6 +303,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA224;
}
@@ -342,6 +329,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA256;
}
@@ -367,6 +355,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA384;
}
@@ -392,6 +381,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA512;
}
@@ -416,6 +406,7 @@ public abstract class SignatureECDSA ext
}
/** {@inheritDoc} */
+ @Override
public String engineGetURI() {
return XMLSignature.ALGO_ID_SIGNATURE_ECDSA_RIPEMD160;
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_de.properties
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_de.properties?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_de.properties [iso-8859-1] (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_de.properties [iso-8859-1] Thu Jan 16 14:47:02 2020
@@ -26,6 +26,7 @@ algorithm.extendsWrongClass = Kann URI {
algorithms.CannotUseAlgorithmParameterSpecOnDSA = AlgorithmParameterSpec kann nicht f\u00fcr DSA Signaturen benutzt werden.
algorithms.CannotUseAlgorithmParameterSpecOnRSA = AlgorithmParameterSpec kann nicht f\u00fcr RSA Signaturen benutzt werden.
algorithms.CannotUseSecureRandomOnMAC = SecureRandom kann nicht f\u00fcr MAC's angewandt werden.
+algorithms.HMACOutputLengthMax = HMACOutputLength darf nicht grosser als {0} sein
algorithms.HMACOutputLengthMin = HMACOutputLength darf nicht kleiner als {0} sein
algorithms.HMACOutputLengthOnlyForHMAC = Die HMACOutputLength kann nur bei HMAC integrit\u00e4ts Algorithmen angegeben werden
algorithms.NoSuchAlgorithm = Der Algorithmus {0} ist nicht verf\u00fcgbar.
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_en.properties
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_en.properties?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_en.properties [iso-8859-1] (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/xmlsecurity_en.properties [iso-8859-1] Thu Jan 16 14:47:02 2020
@@ -26,6 +26,7 @@ algorithm.extendsWrongClass = Cannot reg
algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
+algorithms.HMACOutputLengthMax = HMACOutputLength must not be more than {0}
algorithms.HMACOutputLengthMin = HMACOutputLength must not be less than {0}
algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
algorithms.NoSuchAlgorithmNoEx = The requested algorithm {0} does not exist.
Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java?rev=1872884&r1=1872883&r2=1872884&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java Thu Jan 16 14:47:02 2020
@@ -80,13 +80,11 @@ public class HMACOutputLengthTest {
@org.junit.jupiter.api.Test
public void test_generate_hmac_sha1_40() throws Exception {
Document doc = TestUtils.newDocument();
- XMLSignature sig =
+ try {
new XMLSignature(
doc, null, XMLSignature.ALGO_ID_MAC_HMAC_SHA1,
- 40, Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS
+ 40, Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS
);
- try {
- sig.sign(getSecretKey("secret".getBytes(StandardCharsets.US_ASCII)));
fail("Expected HMACOutputLength Exception");
} catch (XMLSignatureException xse) {
// System.out.println(xse.getMessage());
@@ -113,13 +111,4 @@ public class HMACOutputLengthTest {
return signature.checkSignatureValue(sk);
}
- private SecretKey getSecretKey(final byte[] secret) {
- return new SecretKey() {
- private static final long serialVersionUID = -6527915934685938837L;
- public String getFormat() { return "RAW"; }
- public byte[] getEncoded() { return secret; }
- public String getAlgorithm(){ return "SECRET"; }
- };
- }
-
}
\ No newline at end of file