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 2014/05/27 12:41:45 UTC
svn commit: r1597741 - in /santuario/xml-security-java/trunk/src/main:
java/org/apache/jcp/xml/dsig/internal/dom/
java/org/apache/xml/security/algorithms/
java/org/apache/xml/security/algorithms/implementations/
java/org/apache/xml/security/resource/ j...
Author: coheigea
Date: Tue May 27 10:41:44 2014
New Revision: 1597741
URL: http://svn.apache.org/r1597741
Log:
[SANTUARIO-385] - Add support for RSASSA-PSS signature Schema. Thanks to Hauke Mehrtens for the patch
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/JCEMapper.java
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/implementations/SignatureBaseRSA.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/config.xml
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignature.java
santuario/xml-security-java/trunk/src/main/resources/security-config.xml
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java Tue May 27 10:41:44 2014
@@ -70,10 +70,24 @@ public abstract class DOMSignatureMethod
"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384";
static final String ECDSA_SHA512 =
"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512";
- static final String ECDSA_RIPEMD160 =
- "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160";
static final String DSA_SHA256 =
"http://www.w3.org/2009/xmldsig11#dsa-sha256";
+
+ // see RFC 6931 for these algorithm definitions
+ static final String ECDSA_RIPEMD160 =
+ "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160";
+ static final String RSA_SHA1_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1";
+ static final String RSA_SHA224_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1";
+ static final String RSA_SHA256_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1";
+ static final String RSA_SHA384_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1";
+ static final String RSA_SHA512_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1";
+ static final String RSA_RIPEMD160_MGF1 =
+ "http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1";
/**
* Creates a <code>DOMSignatureMethod</code>.
@@ -125,6 +139,18 @@ public abstract class DOMSignatureMethod
return new SHA512withRSA(smElem);
} else if (alg.equals(RSA_RIPEMD160)) {
return new RIPEMD160withRSA(smElem);
+ } else if (alg.equals(RSA_SHA1_MGF1)) {
+ return new SHA1withRSAandMGF1(smElem);
+ } else if (alg.equals(RSA_SHA224_MGF1)) {
+ return new SHA224withRSAandMGF1(smElem);
+ } else if (alg.equals(RSA_SHA256_MGF1)) {
+ return new SHA256withRSAandMGF1(smElem);
+ } else if (alg.equals(RSA_SHA384_MGF1)) {
+ return new SHA384withRSAandMGF1(smElem);
+ } else if (alg.equals(RSA_SHA512_MGF1)) {
+ return new SHA512withRSAandMGF1(smElem);
+ } else if (alg.equals(RSA_RIPEMD160_MGF1)) {
+ return new RIPEMD160withRSAandMGF1(smElem);
} else if (alg.equals(SignatureMethod.DSA_SHA1)) {
return new SHA1withDSA(smElem);
} else if (alg.equals(DSA_SHA256)) {
@@ -367,7 +393,139 @@ public abstract class DOMSignatureMethod
return Type.RSA;
}
}
+
+ static final class SHA1withRSAandMGF1 extends DOMSignatureMethod {
+ SHA1withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ SHA1withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_SHA1_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "SHA1withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+
+ static final class SHA224withRSAandMGF1 extends DOMSignatureMethod {
+ SHA224withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ SHA224withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_SHA224_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "SHA224withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+
+ static final class SHA256withRSAandMGF1 extends DOMSignatureMethod {
+ SHA256withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ SHA256withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_SHA256_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "SHA256withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+ static final class SHA384withRSAandMGF1 extends DOMSignatureMethod {
+ SHA384withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ SHA384withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_SHA384_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "SHA384withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+
+ static final class SHA512withRSAandMGF1 extends DOMSignatureMethod {
+ SHA512withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ SHA512withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_SHA512_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "SHA512withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+
+ static final class RIPEMD160withRSAandMGF1 extends DOMSignatureMethod {
+ RIPEMD160withRSAandMGF1(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException {
+ super(params);
+ }
+ RIPEMD160withRSAandMGF1(Element dmElem) throws MarshalException {
+ super(dmElem);
+ }
+ @Override
+ public String getAlgorithm() {
+ return RSA_RIPEMD160_MGF1;
+ }
+ @Override
+ String getJCAAlgorithm() {
+ return "RIPEMD160withRSAandMGF1";
+ }
+ @Override
+ Type getAlgorithmType() {
+ return Type.RSA;
+ }
+ }
+
static final class SHA1withDSA extends DOMSignatureMethod {
SHA1withDSA(AlgorithmParameterSpec params)
throws InvalidAlgorithmParameterException {
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java Tue May 27 10:41:44 2014
@@ -269,6 +269,18 @@ public final class DOMXMLSignatureFactor
return new DOMSignatureMethod.SHA512withRSA(params);
} else if (algorithm.equals(DOMSignatureMethod.RSA_RIPEMD160)) {
return new DOMSignatureMethod.RIPEMD160withRSA(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA1_MGF1)) {
+ return new DOMSignatureMethod.SHA1withRSAandMGF1(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA224_MGF1)) {
+ return new DOMSignatureMethod.SHA224withRSAandMGF1(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA256_MGF1)) {
+ return new DOMSignatureMethod.SHA256withRSAandMGF1(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA384_MGF1)) {
+ return new DOMSignatureMethod.SHA384withRSAandMGF1(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA512_MGF1)) {
+ return new DOMSignatureMethod.SHA512withRSAandMGF1(params);
+ } else if (algorithm.equals(DOMSignatureMethod.RSA_RIPEMD160_MGF1)) {
+ return new DOMSignatureMethod.RIPEMD160withRSAandMGF1(params);
} else if (algorithm.equals(SignatureMethod.DSA_SHA1)) {
return new DOMSignatureMethod.SHA1withDSA(params);
} else if (algorithm.equals(DOMSignatureMethod.DSA_SHA256)) {
@@ -297,7 +309,7 @@ public final class DOMXMLSignatureFactor
return new DOMSignatureMethod.SHA512withECDSA(params);
} else if (algorithm.equals(DOMSignatureMethod.ECDSA_RIPEMD160)) {
return new DOMSignatureMethod.RIPEMD160withECDSA(params);
- } else {
+ }else {
throw new NoSuchAlgorithmException("unsupported algorithm");
}
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/JCEMapper.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/JCEMapper.java?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/JCEMapper.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/algorithms/JCEMapper.java Tue May 27 10:41:44 2014
@@ -136,6 +136,30 @@ public class JCEMapper {
new Algorithm("SHA512withRSA", "SHA512withRSA", "Signature")
);
algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160_MGF1,
+ new Algorithm("RIPEMD160withRSAandMGF1", "RIPEMD160withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1_MGF1,
+ new Algorithm("SHA1withRSAandMGF1", "SHA1withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224_MGF1,
+ new Algorithm("SHA224withRSAandMGF1", "SHA224withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256_MGF1,
+ new Algorithm("SHA256withRSAandMGF1", "SHA256withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384_MGF1,
+ new Algorithm("SHA384withRSAandMGF1", "SHA384withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512_MGF1,
+ new Algorithm("SHA512withRSAandMGF1", "SHA512withRSAandMGF1", "Signature")
+ );
+ algorithmsMap.put(
XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA1,
new Algorithm("SHA1withECDSA", "SHA1withECDSA", "Signature")
);
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=1597741&r1=1597740&r2=1597741&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 Tue May 27 10:41:44 2014
@@ -406,6 +406,24 @@ public class SignatureAlgorithm extends
XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512, SignatureBaseRSA.SignatureRSASHA512.class
);
algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160_MGF1, SignatureBaseRSA.SignatureRSARIPEMD160MGF1.class
+ );
+ algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1_MGF1, SignatureBaseRSA.SignatureRSASHA1MGF1.class
+ );
+ algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224_MGF1, SignatureBaseRSA.SignatureRSASHA224MGF1.class
+ );
+ algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256_MGF1, SignatureBaseRSA.SignatureRSASHA256MGF1.class
+ );
+ algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384_MGF1, SignatureBaseRSA.SignatureRSASHA384MGF1.class
+ );
+ algorithmHash.put(
+ XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512_MGF1, SignatureBaseRSA.SignatureRSASHA512MGF1.class
+ );
+ algorithmHash.put(
XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA1, SignatureECDSA.SignatureECDSASHA1.class
);
algorithmHash.put(
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=1597741&r1=1597740&r2=1597741&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 Tue May 27 10:41:44 2014
@@ -336,4 +336,124 @@ public abstract class SignatureBaseRSA e
return XMLSignature.ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5;
}
}
+
+ /**
+ * Class SignatureRSARIPEMD160MGF1
+ */
+ public static class SignatureRSARIPEMD160MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSARIPEMD160MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSARIPEMD160MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_RIPEMD160_MGF1;
+ }
+ }
+
+ /**
+ * Class SignatureRSASHA1MGF1
+ */
+ public static class SignatureRSASHA1MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSASHA1MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSASHA1MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1_MGF1;
+ }
+ }
+
+ /**
+ * Class SignatureRSASHA224MGF1
+ */
+ public static class SignatureRSASHA224MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSASHA224MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSASHA224MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224_MGF1;
+ }
+ }
+
+ /**
+ * Class SignatureRSASHA256MGF1
+ */
+ public static class SignatureRSASHA256MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSASHA256MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSASHA256MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256_MGF1;
+ }
+ }
+
+ /**
+ * Class SignatureRSASHA384MGF1
+ */
+ public static class SignatureRSASHA384MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSASHA384MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSASHA384MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384_MGF1;
+ }
+ }
+
+ /**
+ * Class SignatureRSASHA512MGF1
+ */
+ public static class SignatureRSASHA512MGF1 extends SignatureBaseRSA {
+
+ /**
+ * Constructor SignatureRSASHA512MGF1
+ *
+ * @throws XMLSignatureException
+ */
+ public SignatureRSASHA512MGF1() throws XMLSignatureException {
+ super();
+ }
+
+ /** @inheritDoc */
+ public String engineGetURI() {
+ return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512_MGF1;
+ }
+ }
}
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/config.xml
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/resource/config.xml?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
Binary files - no diff available.
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignature.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignature.java?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignature.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignature.java Tue May 27 10:41:44 2014
@@ -112,6 +112,30 @@ public final class XMLSignature extends
/** Signature - Optional RSAwithSHA512 */
public static final String ALGO_ID_SIGNATURE_RSA_SHA512 =
Constants.MoreAlgorithmsSpecNS + "rsa-sha512";
+
+ /** Signature - Optional RSAwithSHA1andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_SHA1_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "sha1-rsa-MGF1";
+
+ /** Signature - Optional RSAwithSHA224andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_SHA224_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "sha224-rsa-MGF1";
+
+ /** Signature - Optional RSAwithSHA256andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_SHA256_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "sha256-rsa-MGF1";
+
+ /** Signature - Optional RSAwithSHA384andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_SHA384_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "sha384-rsa-MGF1";
+
+ /** Signature - Optional RSAwithSHA512andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_SHA512_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "sha512-rsa-MGF1";
+
+ /** Signature - Optional RSAwithRIPEMD160andMGF1 */
+ public static final String ALGO_ID_SIGNATURE_RSA_RIPEMD160_MGF1 =
+ Constants.XML_DSIG_NS_MORE_07_05 + "ripemd160-rsa-MGF1";
/** HMAC - NOT Recommended HMAC-MD5 */
public static final String ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5 =
Modified: santuario/xml-security-java/trunk/src/main/resources/security-config.xml
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/resources/security-config.xml?rev=1597741&r1=1597740&r2=1597741&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/resources/security-config.xml (original)
+++ santuario/xml-security-java/trunk/src/main/resources/security-config.xml Tue May 27 10:41:44 2014
@@ -232,6 +232,59 @@
KeyLength="512"
RequiredKey="SHA512withRSA"
JCEName="SHA512withRSA"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1"
+ Description="RSASSA-PSS Signature with RIPEMD-160 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="OPTIONAL"
+ SpecificationURL="http://www.ietf.org/rfc/rfc6931.txt"
+ KeyLength="160"
+ RequiredKey="RIPEMD160withRSAandMGF1"
+ JCEName="RIPEMD160withRSAandMGF1"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1"
+ Description="RSASSA-PSS Signature with SHA-1 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="RECOMMENDED"
+ KeyLength="160"
+ RequiredKey="SHA1withRSAandMGF1"
+ JCEName="SHA1withRSAandMGF1"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1"
+ Description="RSASSA-PSS Signature with SHA-224 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="OPTIONAL"
+ SpecificationURL="http://www.ietf.org/rfc/rfc6931.txt"
+ KeyLength="224"
+ RequiredKey="SHA224withRSAandMGF1"
+ JCEName="SHA224withRSAandMGF1"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1"
+ Description="RSASSA-PSS Signature with SHA-256 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="OPTIONAL"
+ SpecificationURL="http://www.ietf.org/rfc/rfc6931.txt"
+ KeyLength="256"
+ RequiredKey="SHA256withRSAandMGF1"
+ JCEName="SHA256withRSAandMGF1"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1"
+ Description="RSASSA-PSS Signature with SHA-384 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="OPTIONAL"
+ SpecificationURL="http://www.ietf.org/rfc/rfc6931.txt"
+ KeyLength="384"
+ RequiredKey="SHA384withRSAandMGF1"
+ JCEName="SHA384withRSAandMGF1"/>
+
+ <Algorithm URI="http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1"
+ Description="RSASSA-PSS Signature with SHA-512 message digest"
+ AlgorithmClass="Signature"
+ RequirementLevel="OPTIONAL"
+ SpecificationURL="http://www.ietf.org/rfc/rfc6931.txt"
+ KeyLength="512"
+ RequiredKey="SHA512withRSAandMGF1"
+ JCEName="SHA512withRSAandMGF1"/>
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"
Description="ECDSA Signature with SHA-1 message digest"