|
From: <pe...@us...> - 2004-01-14 17:08:03
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv14513/src/java/org/neuclear/xml/xmlsec
Modified Files:
KeyInfo.java Reference.java
Log Message:
KeyInfo containing X509Certificates now work correctly.
10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
Index: KeyInfo.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** KeyInfo.java 10 Jan 2004 00:02:02 -0000 1.8
--- KeyInfo.java 14 Jan 2004 17:07:59 -0000 1.9
***************
*** 143,161 ****
return KeyResolverFactory.getInstance().resolve(name);
}
! private PublicKey parseX509(final Element element){
return extractX509(element).getPublicKey();
}
! private X509Certificate extractX509(final Element element){
! Element x509Data=element.element("X509Data");
if (x509Data!=null){
try {
byte encoded[]=XMLSecTools.decodeBase64Element(x509Data);
! CertificateFactory fact=CertificateFactory.getInstance("X509v3");
X509Certificate cert=(X509Certificate) fact.generateCertificate(new ByteArrayInputStream(encoded));
return cert;
- } catch (XMLSecurityException e) {
- return null;
} catch (CertificateException e) {
! return null;
}
}
--- 143,160 ----
return KeyResolverFactory.getInstance().resolve(name);
}
! private PublicKey parseX509(final Element element) throws XMLSecurityException {
return extractX509(element).getPublicKey();
}
! private X509Certificate extractX509(final Element element) throws XMLSecurityException {
! Element x509Data=element.element("X509Certificate");
if (x509Data!=null){
try {
byte encoded[]=XMLSecTools.decodeBase64Element(x509Data);
! CertificateFactory fact=CertificateFactory.getInstance("X.509");
X509Certificate cert=(X509Certificate) fact.generateCertificate(new ByteArrayInputStream(encoded));
return cert;
} catch (CertificateException e) {
! throw new XMLSecurityException(e);
!
}
}
Index: Reference.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Reference.java 14 Jan 2004 16:34:27 -0000 1.7
--- Reference.java 14 Jan 2004 17:07:59 -0000 1.8
***************
*** 1,4 ****
--- 1,8 ----
/* $Id$
* $Log$
+ * Revision 1.8 2004/01/14 17:07:59 pelle
+ * KeyInfo containing X509Certificates now work correctly.
+ * 10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
+ *
* Revision 1.7 2004/01/14 16:34:27 pelle
* New model of references and signatures now pretty much works.
***************
*** 165,169 ****
canon= new Canonicalizer();
! object=DocumentHelper.createElement("Object");
object.addAttribute("Id","data");
object.add(root.createCopy());
--- 169,173 ----
canon= new Canonicalizer();
! object=getElement().getParent().getParent().addElement("Object");
object.addAttribute("Id","data");
object.add(root.createCopy());
|