home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / security / SignedObject.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.9 KB  |  64 lines

  1. package java.security;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import java.io.ByteArrayOutputStream;
  5. import java.io.IOException;
  6. import java.io.ObjectInputStream;
  7. import java.io.ObjectOutputStream;
  8. import java.io.Serializable;
  9.  
  10. public final class SignedObject implements Serializable {
  11.    private static final long serialVersionUID = 720502720485447167L;
  12.    private byte[] content;
  13.    private byte[] signature;
  14.    private String thealgorithm;
  15.  
  16.    public SignedObject(Serializable var1, PrivateKey var2, Signature var3) throws IOException, InvalidKeyException, SignatureException {
  17.       ByteArrayOutputStream var4 = new ByteArrayOutputStream();
  18.       ObjectOutputStream var5 = new ObjectOutputStream(var4);
  19.       var5.writeObject(var1);
  20.       var5.flush();
  21.       var5.close();
  22.       this.content = var4.toByteArray();
  23.       var4.close();
  24.       this.sign(var2, var3);
  25.    }
  26.  
  27.    public Object getObject() throws IOException, ClassNotFoundException {
  28.       ByteArrayInputStream var1 = new ByteArrayInputStream(this.content);
  29.       ObjectInputStream var2 = new ObjectInputStream(var1);
  30.       Object var3 = var2.readObject();
  31.       var1.close();
  32.       var2.close();
  33.       return var3;
  34.    }
  35.  
  36.    public byte[] getSignature() {
  37.       byte[] var1 = (byte[])this.signature.clone();
  38.       return var1;
  39.    }
  40.  
  41.    public String getAlgorithm() {
  42.       return this.thealgorithm;
  43.    }
  44.  
  45.    public boolean verify(PublicKey var1, Signature var2) throws InvalidKeyException, SignatureException {
  46.       var2.initVerify(var1);
  47.       var2.update((byte[])this.content.clone());
  48.       return var2.verify((byte[])this.signature.clone());
  49.    }
  50.  
  51.    private void sign(PrivateKey var1, Signature var2) throws InvalidKeyException, SignatureException {
  52.       var2.initSign(var1);
  53.       var2.update((byte[])this.content.clone());
  54.       this.signature = (byte[])var2.sign().clone();
  55.       this.thealgorithm = var2.getAlgorithm();
  56.    }
  57.  
  58.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  59.       var1.defaultReadObject();
  60.       this.content = (byte[])this.content.clone();
  61.       this.signature = (byte[])this.signature.clone();
  62.    }
  63. }
  64.