⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 derutctime.java

📁 进行与数字证书相关开发必须的java源码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   DERUTCTime.java

package jit.asn1;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;

// Referenced classes of package jit.asn1:
//            DERObject, ASN1OctetString, ASN1TaggedObject, DEROutputStream

public class DERUTCTime extends DERObject
{

    String time;

    public static DERUTCTime getInstance(Object obj)
    {
        if(obj == null || (obj instanceof DERUTCTime))
            return (DERUTCTime)obj;
        if(obj instanceof ASN1OctetString)
            return new DERUTCTime(((ASN1OctetString)obj).getOctets());
        else
            throw new IllegalArgumentException("illegal object in getInstance: ".concat(String.valueOf(String.valueOf(obj.getClass().getName()))));
    }

    public static DERUTCTime getInstance(ASN1TaggedObject obj, boolean explicit)
    {
        return getInstance(obj.getObject());
    }

    public DERUTCTime(String time)
    {
        this.time = time;
    }

    public DERUTCTime(Date time)
    {
        SimpleDateFormat dateF = new SimpleDateFormat("yyMMddHHmmss'Z'");
        dateF.setTimeZone(new SimpleTimeZone(0, "Z"));
        this.time = dateF.format(time);
    }

    DERUTCTime(byte bytes[])
    {
        char dateC[] = new char[bytes.length];
        for(int i = 0; i != dateC.length; i++)
            dateC[i] = (char)(bytes[i] & 0xff);

        time = new String(dateC);
    }

    public String getTime()
    {
        if(time.length() == 11)
            return String.valueOf(String.valueOf(time.substring(0, 10))).concat("00GMT+00:00");
        if(time.length() == 13)
            return String.valueOf(String.valueOf(time.substring(0, 12))).concat("GMT+00:00");
        if(time.length() == 17)
            return String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(time.substring(0, 12))))).append("GMT").append(time.substring(12, 15)).append(":").append(time.substring(15, 17))));
        else
            return time;
    }

    public String getAdjustedTime()
    {
        String d = getTime();
        if(d.charAt(0) < '5')
            return "20".concat(String.valueOf(String.valueOf(d)));
        else
            return "19".concat(String.valueOf(String.valueOf(d)));
    }

    private byte[] getOctets()
    {
        char cs[] = time.toCharArray();
        byte bs[] = new byte[cs.length];
        for(int i = 0; i != cs.length; i++)
            bs[i] = (byte)cs[i];

        return bs;
    }

    void encode(DEROutputStream out)
        throws IOException
    {
        out.writeEncoded(23, getOctets());
    }

    public boolean equals(Object o)
    {
        if(o == null || !(o instanceof DERUTCTime))
            return false;
        else
            return time.equals(((DERUTCTime)o).time);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -