You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by ra...@apache.org on 2006/02/26 18:36:36 UTC
svn commit: r381127 - in
/xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations:
X509SKIResolver.java X509SubjectNameResolver.java
Author: raul
Date: Sun Feb 26 09:36:35 2006
New Revision: 381127
URL: http://svn.apache.org/viewcvs?rev=381127&view=rev
Log:
Fixed BUG 38605.
Refactored the way keyresolver works instead of
calling canResolve/resolveX only resolveX is used
and if it returns null it means it cannot resolve.
Modified:
xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java
xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
Modified: xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java
URL: http://svn.apache.org/viewcvs/xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java?rev=381127&r1=381126&r2=381127&view=diff
==============================================================================
--- xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java (original)
+++ xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java Sun Feb 26 09:36:35 2006
@@ -44,51 +44,7 @@
static org.apache.commons.logging.Log log =
org.apache.commons.logging.LogFactory.getLog(X509SKIResolver.class.getName());
- /** Field _x509childNodes */
- private Element _x509childNodes[] = null;
-
- /** Field _x509childObject[] */
- private XMLX509SKI _x509childObject[] = null;
-
- /**
- * Method engineCanResolve
- * @inheritDoc
- * @param element
- * @param BaseURI
- * @param storage
- *
- */
- public boolean engineCanResolve(Element element, String BaseURI,
- StorageResolver storage) {
- if (log.isDebugEnabled()) {
- log.debug("Can I resolve " + element.getTagName() + "?");
- }
-
- if (!XMLUtils.elementIsInSignatureSpace(element,
- Constants._TAG_X509DATA)) {
- log.debug("I can't");
-
- return false;
- }
-
-
-
-
- this._x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(),
- Constants._TAG_X509SKI);
-
- if ((this._x509childNodes != null)
- && (this._x509childNodes.length > 0)) {
- log.debug("Yes Sir, I can");
-
- return true;
- }
-
- log.debug("I can't");
-
- return false;
- }
-
+
/**
* Method engineResolvePublicKey
*
@@ -124,17 +80,27 @@
public X509Certificate engineResolveX509Certificate(
Element element, String BaseURI, StorageResolver storage)
throws KeyResolverException {
-
- try {
- if (this._x509childNodes == null) {
- boolean weCanResolve = this.engineCanResolve(element, BaseURI,
- storage);
-
- if (!weCanResolve || (this._x509childNodes == null)) {
- return null;
- }
- }
-
+ if (log.isDebugEnabled()) {
+ log.debug("Can I resolve " + element.getTagName() + "?");
+ }
+ if (!XMLUtils.elementIsInSignatureSpace(element,
+ Constants._TAG_X509DATA)) {
+ log.debug("I can't");
+ return null;
+ }
+ /** Field _x509childObject[] */
+ XMLX509SKI x509childObject[] = null;
+
+ Element x509childNodes[] = null;
+ x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(),
+ Constants._TAG_X509SKI);
+
+ if (!((x509childNodes != null)
+ && (x509childNodes.length > 0))) {
+ log.debug("I can't");
+ return null;
+ }
+ try {
if (storage == null) {
Object exArgs[] = { Constants._TAG_X509SKI };
KeyResolverException ex =
@@ -146,20 +112,19 @@
throw ex;
}
- this._x509childObject =
- new XMLX509SKI[this._x509childNodes.length];
+ x509childObject = new XMLX509SKI[x509childNodes.length];
- for (int i = 0; i < this._x509childNodes.length; i++) {
- this._x509childObject[i] =
- new XMLX509SKI(this._x509childNodes[i], BaseURI);
+ for (int i = 0; i < x509childNodes.length; i++) {
+ x509childObject[i] =
+ new XMLX509SKI(x509childNodes[i], BaseURI);
}
while (storage.hasNext()) {
X509Certificate cert = storage.next();
XMLX509SKI certSKI = new XMLX509SKI(element.getOwnerDocument(), cert);
- for (int i = 0; i < this._x509childObject.length; i++) {
- if (certSKI.equals(this._x509childObject[i])) {
+ for (int i = 0; i < x509childObject.length; i++) {
+ if (certSKI.equals(x509childObject[i])) {
log.debug("Return PublicKey from "
+ cert.getSubjectDN().getName());
Modified: xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
URL: http://svn.apache.org/viewcvs/xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java?rev=381127&r1=381126&r2=381127&view=diff
==============================================================================
--- xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java (original)
+++ xml/security/trunk/src/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java Sun Feb 26 09:36:35 2006
@@ -43,51 +43,7 @@
org.apache.commons.logging.LogFactory.getLog(
X509SubjectNameResolver.class.getName());
- /** Field _x509childNodes */
- private Element[] _x509childNodes = null;
-
- /** Field _x509childObject[] */
- private XMLX509SubjectName _x509childObject[] = null;
-
- /**
- * Method engineCanResolve
- * @inheritDoc
- * @param element
- * @param BaseURI
- * @param storage
- *
- */
- public boolean engineCanResolve(Element element, String BaseURI,
- StorageResolver storage) {
- if (log.isDebugEnabled())
- log.debug("Can I resolve " + element.getTagName() + "?");
-
-
- if (!XMLUtils.elementIsInSignatureSpace(element,
- Constants._TAG_X509DATA) ) {
- log.debug("I can't");
-
- return false;
- }
-
-
-
- this._x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(),
- Constants._TAG_X509SUBJECTNAME);
-
- if ((this._x509childNodes != null)
- && (this._x509childNodes.length > 0)) {
- log.debug("Yes Sir, I can");
-
- return true;
- }
-
-
- log.debug("I can't");
-
- return false;
- }
-
+
/**
* Method engineResolvePublicKey
*
@@ -123,17 +79,26 @@
public X509Certificate engineResolveX509Certificate(
Element element, String BaseURI, StorageResolver storage)
throws KeyResolverException {
+ if (log.isDebugEnabled())
+ log.debug("Can I resolve " + element.getTagName() + "?");
+ Element[] x509childNodes = null;
+ XMLX509SubjectName x509childObject[] = null;
+
+ if (!XMLUtils.elementIsInSignatureSpace(element,
+ Constants._TAG_X509DATA) ) {
+ log.debug("I can't");
+ return null;
+ }
+ x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(),
+ Constants._TAG_X509SUBJECTNAME);
+ if (!((x509childNodes != null)
+ && (x509childNodes.length > 0))) {
+ log.debug("I can't");
+ return null;
+ }
+
try {
- if (this._x509childNodes == null) {
- boolean weCanResolve = this.engineCanResolve(element, BaseURI,
- storage);
-
- if (!weCanResolve || (this._x509childNodes == null)) {
- return null;
- }
- }
-
if (storage == null) {
Object exArgs[] = { Constants._TAG_X509SUBJECTNAME };
KeyResolverException ex =
@@ -145,12 +110,12 @@
throw ex;
}
- this._x509childObject =
- new XMLX509SubjectName[this._x509childNodes.length];
+ x509childObject =
+ new XMLX509SubjectName[x509childNodes.length];
- for (int i = 0; i < this._x509childNodes.length; i++) {
- this._x509childObject[i] =
- new XMLX509SubjectName(this._x509childNodes[i],
+ for (int i = 0; i < x509childNodes.length; i++) {
+ x509childObject[i] =
+ new XMLX509SubjectName(x509childNodes[i],
BaseURI);
}
@@ -161,11 +126,11 @@
log.debug("Found Certificate SN: " + certSN.getSubjectName());
- for (int i = 0; i < this._x509childObject.length; i++) {
+ for (int i = 0; i < x509childObject.length; i++) {
log.debug("Found Element SN: "
- + this._x509childObject[i].getSubjectName());
+ + x509childObject[i].getSubjectName());
- if (certSN.equals(this._x509childObject[i])) {
+ if (certSN.equals(x509childObject[i])) {
log.debug("match !!! ");
return cert;