certconverter.java

来自「linux下建立JAVA虚拟机的源码KAFFE」· Java 代码 · 共 81 行

JAVA
81
字号
// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)package org.xbill.DNS.security;import java.io.*;import java.security.cert.*;import org.xbill.DNS.*;/** * Routines to convert between a DNS CERT record and a Java Certificate. * @see CERTRecord * @see java.security.cert.Certificate * * @author Brian Wellington */public class CERTConverter {/** Converts a CERT record into a Certificate */public static CertificateparseRecord(CERTRecord r) {	int type = r.getCertType();	byte [] data = r.getCert();	Certificate cert;	try {		switch (type) {			case CERTRecord.PKIX: {				CertificateFactory cf;				ByteArrayInputStream bs;				cf = CertificateFactory.getInstance("X.509");				bs = new ByteArrayInputStream(data);				cert = cf.generateCertificate(bs);				break;			}			default:				return null;		}		return cert;	}	catch (CertificateException e) {		if (Options.check("verboseexceptions"))			System.err.println("Cert parse exception:" + e);		return null;	}}/** Builds a CERT record from a Certificate associated with a key also in DNS */public static CERTRecordbuildRecord(Name name, int dclass, long ttl, Certificate cert, int tag,	    int alg){	int type;	byte [] data;	try {		if (cert instanceof X509Certificate) {			type = CERTRecord.PKIX;			data = cert.getEncoded();		}		else			return null;		return new CERTRecord(name, dclass, ttl, type, tag, alg, data);	}	catch (CertificateException e) {		if (Options.check("verboseexceptions"))			System.err.println("Cert build exception:" + e);		return null;	}}/** Builds a CERT record from a Certificate */public static CERTRecordbuildRecord(Name name, int dclass, long ttl, Certificate cert) {	return buildRecord(name, dclass, ttl, cert, 0, 0);}}

⌨️ 快捷键说明

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