|
From: <pe...@us...> - 2003-09-22 19:24:37
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/signrequest
In directory sc8-pr-cvs1:/tmp/cvs-serv4908/src/java/org/neuclear/id/signrequest
Modified Files:
SignatureRequest.java
Log Message:
More fixes throughout to problems caused by renaming.
Index: SignatureRequest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/signrequest/SignatureRequest.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** SignatureRequest.java 19 Sep 2003 14:41:13 -0000 1.1.1.1
--- SignatureRequest.java 22 Sep 2003 19:24:01 -0000 1.2
***************
*** 12,20 ****
import org.dom4j.Element;
import org.dom4j.Namespace;
- import org.neuclear.crypto.CryptoTools;
import org.neuclear.id.NamedObject;
import org.neuclear.id.NamedObjectFactory;
! import org.neuclear.utils.NeudistException;
! import org.neuclear.utils.Utility;
import java.security.PrivateKey;
--- 12,20 ----
import org.dom4j.Element;
import org.dom4j.Namespace;
import org.neuclear.id.NamedObject;
import org.neuclear.id.NamedObjectFactory;
! import org.neudist.crypto.CryptoTools;
! import org.neudist.utils.NeudistException;
! import org.neudist.utils.Utility;
import java.security.PrivateKey;
***************
*** 39,49 ****
* @param payload the NamedObject to request signing
*/
! private SignatureRequest(String reqNameSpace,String target,NamedObject payload) throws NeudistException {
! super(createUniqueTicketName(reqNameSpace,payload.getName()), SignatureRequest.TAG_NAME,SignatureRequest.NS_NSSIGREQ);
addElement(payload);
! this.payload=payload;
! Element root=getElement();
if (!Utility.isEmpty(target))
! root.addAttribute(DocumentHelper.createQName("target",NS_NSSIGREQ),target);
}
--- 39,49 ----
* @param payload the NamedObject to request signing
*/
! private SignatureRequest(String reqNameSpace, String target, NamedObject payload) throws NeudistException {
! super(createUniqueTicketName(reqNameSpace, payload.getName()), SignatureRequest.TAG_NAME, SignatureRequest.NS_NSSIGREQ);
addElement(payload);
! this.payload = payload;
! Element root = getElement();
if (!Utility.isEmpty(target))
! root.addAttribute(DocumentHelper.createQName("target", NS_NSSIGREQ), target);
}
***************
*** 55,68 ****
public SignatureRequest(Element elem) throws NeudistException {
super(elem);
! Element payloadElement=(Element)elem.elements().get(0);
! if (payloadElement!=null)
! payload=NamedObjectFactory.createNamedObject(payloadElement);
}
! public static SignatureRequest createRequest(String requester,String targeturl,NamedObject payload,PrivateKey signer) throws NeudistException {
! SignatureRequest req=new SignatureRequest(requester,targeturl,payload);
req.sign(signer);
return req;
}
/**
* This is just used to create a unique ticket for use by the ticket
--- 55,69 ----
public SignatureRequest(Element elem) throws NeudistException {
super(elem);
! Element payloadElement = (Element) elem.elements().get(0);
! if (payloadElement != null)
! payload = NamedObjectFactory.createNamedObject(payloadElement);
}
! public static SignatureRequest createRequest(String requester, String targeturl, NamedObject payload, PrivateKey signer) throws NeudistException {
! SignatureRequest req = new SignatureRequest(requester, targeturl, payload);
req.sign(signer);
return req;
}
+
/**
* This is just used to create a unique ticket for use by the ticket
***************
*** 71,90 ****
* @return
*/
! private static String createUniqueTicketName(String targetNameSpace,String reqNameSpace) {
// Yeah, yeah there are better ways to do this
! String ms=new Long(new Date().getTime()).toString();
! byte ticketsrc[]=new byte[ms.length()+reqNameSpace.length()];
! System.arraycopy(ms.getBytes(),0,ticketsrc,0,ms.length());
! System.arraycopy(reqNameSpace.getBytes(),0,ticketsrc,ms.length(),reqNameSpace.length());
! String ticket=CryptoTools.formatAsURLSafe(CryptoTools.digest256(ticketsrc));
//Lets reuse ticketsrc for memory reasons
! int offset=ms.length()+1;
if (reqNameSpace.startsWith("neu://"))
! offset+=5;
! for (int i=offset;i<ticketsrc.length;i++) {
! if (ticketsrc[i]==(byte)'/')
! ticketsrc[i]=(byte)'.';
}
/*
--- 72,91 ----
* @return
*/
! private static String createUniqueTicketName(String targetNameSpace, String reqNameSpace) {
// Yeah, yeah there are better ways to do this
! String ms = new Long(new Date().getTime()).toString();
! byte ticketsrc[] = new byte[ms.length() + reqNameSpace.length()];
! System.arraycopy(ms.getBytes(), 0, ticketsrc, 0, ms.length());
! System.arraycopy(reqNameSpace.getBytes(), 0, ticketsrc, ms.length(), reqNameSpace.length());
! String ticket = CryptoTools.formatAsURLSafe(CryptoTools.digest256(ticketsrc));
//Lets reuse ticketsrc for memory reasons
! int offset = ms.length() + 1;
if (reqNameSpace.startsWith("neu://"))
! offset += 5;
! for (int i = offset; i < ticketsrc.length; i++) {
! if (ticketsrc[i] == (byte) '/')
! ticketsrc[i] = (byte) '.';
}
/*
***************
*** 94,98 ****
System.arraycopy(ticket,0,ticketName,userNameSpace.length()+1,ticket.length);
*/
! return targetNameSpace+'/'+new String(ticketsrc,offset,ticketsrc.length-offset)+'.'+ticket;
}
--- 95,99 ----
System.arraycopy(ticket,0,ticketName,userNameSpace.length()+1,ticket.length);
*/
! return targetNameSpace + '/' + new String(ticketsrc, offset, ticketsrc.length - offset) + '.' + ticket;
}
***************
*** 102,110 ****
*/
public String getSiteHref() {
! return getElement().attributeValue(DocumentHelper.createQName("href",NS_NSSIGREQ));
}
public String getTagName() {
! return TAG_NAME;
! }
/**
--- 103,112 ----
*/
public String getSiteHref() {
! return getElement().attributeValue(DocumentHelper.createQName("href", NS_NSSIGREQ));
}
+
public String getTagName() {
! return TAG_NAME;
! }
/**
***************
*** 118,126 ****
return payload;
}
private NamedObject payload;
! private static final String TAG_NAME="SignatureRequest";
! public static final String URI_NSSIGREQ="http://neuclear.org/neu/nssigrequest";
! public static final Namespace NS_NSSIGREQ=DocumentHelper.createNamespace("nsauth",URI_NSSIGREQ);
}
--- 120,129 ----
return payload;
}
+
private NamedObject payload;
! private static final String TAG_NAME = "SignatureRequest";
! public static final String URI_NSSIGREQ = "http://neuclear.org/neu/nssigrequest";
! public static final Namespace NS_NSSIGREQ = DocumentHelper.createNamespace("nsauth", URI_NSSIGREQ);
}
|