关于解析SM2证书

来源:互联网 发布:网络骗女性的骗术大全 编辑:程序博客网 时间:2024/05/16 06:59

解析SM2证书,一般证书也可

     @SuppressWarnings("deprecation")    public static byte[] getCSPK(byte[] csCert)        {            InputStream inStream = new ByteArrayInputStream(csCert);            ASN1Sequence seq = null;            ASN1InputStream aIn;            try            {                aIn = new ASN1InputStream(inStream);                seq = (ASN1Sequence)aIn.readObject();                X509CertificateStructure cert = new X509CertificateStructure(seq);                ASN1Integer aserialNumber= cert.getSerialNumber();// 序列号                String serialNumber=aserialNumber.toString();                X500Name name= cert.getSubject();// 使用者                X500Name issuer= cert.getIssuer(); // 颁发者                Time stime=  cert.getStartDate(); // 有效期                Time etime=cert.getEndDate();// 到                DERBitString d=cert.getSignature();                AlgorithmIdentifier alg= cert.getSignatureAlgorithm();                ASN1ObjectIdentifier identifier= alg.getObjectId();// 签名算法                SubjectPublicKeyInfo subjectPublicKeyInfo = cert.getSubjectPublicKeyInfo();                DERBitString publicKeyData = subjectPublicKeyInfo.getPublicKeyData();                byte[] publicKey = publicKeyData.getEncoded();                byte[] encodedPublicKey = publicKey;// 公钥                byte[] eP = new byte[64];                System.arraycopy(encodedPublicKey, 4, eP, 0, eP.length);                return eP;            }            catch (Exception e)            {                // TODO Auto-generated catch block                e.printStackTrace();            }            return null;        }

需要jar包

下载地址http://download.csdn.net/detail/qq_32221419/9767434

0 0
原创粉丝点击