|
From: <pe...@us...> - 2003-10-29 21:14:47
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/pay/receiver
In directory sc8-pr-cvs1:/tmp/cvs-serv29147/src/java/org/neuclear/pay/receiver
Modified Files:
PaymentReceiver.java
Log Message:
Refactored the whole signing process. Now we have an interface called Signer which is the old SignerStore.
To use it you pass a byte array and an alias. The sign method then returns the signature.
If a Signer needs a passphrase it uses a PassPhraseAgent to present a dialogue box, read it from a command line etc.
This new Signer pattern allows us to use secure signing hardware such as N-Cipher in the future for server applications as well
as SmartCards for end user applications.
Index: PaymentReceiver.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/pay/receiver/PaymentReceiver.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** PaymentReceiver.java 25 Oct 2003 00:38:43 -0000 1.4
--- PaymentReceiver.java 29 Oct 2003 21:14:44 -0000 1.5
***************
*** 13,21 ****
import org.neuclear.receiver.Receiver;
import org.neuclear.receiver.UnsupportedTransaction;
import org.neudist.xml.ElementProxy;
import org.neudist.xml.xmlsec.XMLSecurityException;
- import java.security.PrivateKey;
-
/*
NeuClear Distributed Transaction Clearing Platform
--- 13,20 ----
import org.neuclear.receiver.Receiver;
import org.neuclear.receiver.UnsupportedTransaction;
+ import org.neudist.crypto.Signer;
import org.neudist.xml.ElementProxy;
import org.neudist.xml.xmlsec.XMLSecurityException;
/*
NeuClear Distributed Transaction Clearing Platform
***************
*** 45,52 ****
public class PaymentReceiver implements Receiver {
! public PaymentReceiver(PaymentProcessor proc, String asset) {
this.proc = proc;
this.asset = asset;
! this.signer = null;
}
--- 44,51 ----
public class PaymentReceiver implements Receiver {
! public PaymentReceiver(PaymentProcessor proc, Signer signer, String asset) {
this.proc = proc;
this.asset = asset;
! this.signer = signer;
}
***************
*** 68,72 ****
PaymentReceipt receipt = from.pay(to, transfer.getAmount(), transfer.getTimeStamp(), "transfer");
TransferReceiptBuilder sigReceipt = new TransferReceiptBuilder(receipt);
! sigReceipt.sign(signer);
return sigReceipt;
//TODO do something with receipt
--- 67,71 ----
PaymentReceipt receipt = from.pay(to, transfer.getAmount(), transfer.getTimeStamp(), "transfer");
TransferReceiptBuilder sigReceipt = new TransferReceiptBuilder(receipt);
! sigReceipt.sign(asset, signer);
return sigReceipt;
//TODO do something with receipt
***************
*** 94,98 ****
private final PaymentProcessor proc;
private final String asset;
! private PrivateKey signer;
{
--- 93,97 ----
private final PaymentProcessor proc;
private final String asset;
! private Signer signer;
{
|