~brian-thomason/+junk/bouncycastle

« back to all changes in this revision

Viewing changes to src/org/bouncycastle/bcpg/sig/SignatureCreationTime.java

  • Committer: Brian Thomason
  • Date: 2011-12-20 17:20:32 UTC
  • Revision ID: brian.thomason@canonical.com-20111220172032-rdtm13jgdxtksacr
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.bouncycastle.bcpg.sig;
 
2
 
 
3
import java.util.Date;
 
4
 
 
5
import org.bouncycastle.bcpg.SignatureSubpacket;
 
6
import org.bouncycastle.bcpg.SignatureSubpacketTags;
 
7
 
 
8
/**
 
9
 * packet giving signature creation time.
 
10
 */
 
11
public class SignatureCreationTime 
 
12
    extends SignatureSubpacket
 
13
{
 
14
    protected static byte[] timeToBytes(
 
15
        Date    date)
 
16
    {
 
17
        byte[]    data = new byte[4];
 
18
        long        t = date.getTime() / 1000;
 
19
        
 
20
        data[0] = (byte)(t >> 24);
 
21
        data[1] = (byte)(t >> 16);
 
22
        data[2] = (byte)(t >> 8);
 
23
        data[3] = (byte)t;
 
24
        
 
25
        return data;
 
26
    }
 
27
    
 
28
    public SignatureCreationTime(
 
29
        boolean    critical,
 
30
        byte[]     data)
 
31
    {
 
32
        super(SignatureSubpacketTags.CREATION_TIME, critical, data);
 
33
    }
 
34
    
 
35
    public SignatureCreationTime(
 
36
        boolean    critical,
 
37
        Date       date)
 
38
    {
 
39
        super(SignatureSubpacketTags.CREATION_TIME, critical, timeToBytes(date));
 
40
    }
 
41
    
 
42
    public Date getTime()
 
43
    {
 
44
        long    time = ((long)(data[0] & 0xff) << 24) | ((data[1] & 0xff) << 16) | ((data[2] & 0xff) << 8) | (data[3] & 0xff);
 
45
        
 
46
        return new Date(time * 1000);
 
47
    }
 
48
}