91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

實現java代碼生成cer證書文件,然后可以通過代碼獲取 不通過keytool工具。生成密鑰對。使用公鑰加密。

資源截圖

代碼片段和文件信息

package?com.ufida.ehr.sso.cert;

import?java.io.BufferedInputStream;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.OutputStreamWriter;
import?java.io.Writer;
import?java.math.BigInteger;
import?java.nio.charset.Charset;
import?java.security.InvalidKeyException;
import?java.security.KeyPair;
import?java.security.NoSuchProviderException;
import?java.security.SecureRandom;
import?java.security.Security;
import?java.security.SignatureException;
import?java.security.cert.CertificateFactory;
import?java.security.cert.X509Certificate;
import?java.util.Date;
import?javax.security.auth.x500.X500Principal;
import?org.bouncycastle.jce.provider.BouncyCastleProvider;
import?org.bouncycastle.x509.X509V1CertificateGenerator;

/**
?*?實現對證書的操作,生成證書,獲取證書
?*?@author?Administrator
?*
?*/
public?class?CertHandlers?{
/**
?*?
?*?@param?pair?密鑰對
?*?@param?bdate?有效期
?*?@param?edate?有效期
?*?@param?info?證書信息
?*?@return
?*?@throws?InvalidKeyException
?*?@throws?NoSuchProviderException
?*?@throws?SignatureException
?*/
@SuppressWarnings(“deprecation“)
public??X509Certificate?generateV1Certificate(KeyPair?pairDate?bdateDate?edateX500Principal?info)
????????throws?InvalidKeyException?NoSuchProviderException?SignatureException
????{
????????//?generate?the?certificate
???? Security.addProvider(new?BouncyCastleProvider());
????????X509V1CertificateGenerator??certGen?=?new?X509V1CertificateGenerator();
????????certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
????????certGen.setIssuerDN(info);
????????certGen.setNotBefore(bdate);
????????certGen.setNotAfter(edate);
????????certGen.setSubjectDN(new?X500Principal(“CN=Test?Certificate“));
????????certGen.setPublicKey(pair.getPublic());
????????//?i?get?error?here
????????certGen.setSignatureAlgorithm(“SHA256WithRSAEncryption“);
????????return?certGen.generateX509Certificate(pair.getPrivate()?“BC“);
????}
???/**
????*?*?生成證書文件
????*?@param?address?文件保存的路徑
????*?@param?bdate?有效期
????*?@param?edate?有效期
????*?@param?info?證書信息
????*?@param?algorithm?算法名稱
????*?@param?keysize?密鑰長度
????*?@param?random?隨機源
????*?@throws?Exception
????*/
????
????public?void?ProCert(String?addressDate?bdateDate?edateX500Principal?infoString?algorithmint?keysize?SecureRandom?random)throws?Exception{
????????//?create?the?keys
???? KeyGen?pc?=?new?KeyGen();
KeyPair?kp?=?pc.getKeyPair(algorithm?keysize?random);
????????//?generate?the?certificate
????????X509Certificate?cert?=?generateV1Certificate(kpbdateedateinfo);
????????//?show?some?basic?validation
????????cert.checkValidity(new?Date());
????????cert.verify(cert.getPublicKey());
????????FileOutputStream?o?=?new?FileOutputStream(address);
????????Writer?wr?=?new?OutputStreamWriter(o?Charset.forName(“UTF-8“));
????????wr.write(“-----BEGIN?CERTIFICATE-----\n“);
????????wr.write(new?sun.misc.base64Encode

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3948??2011-10-27?09:16??cert\CertHandlers.java

?????文件???????1402??2011-10-27?09:18??cert\KeyGen.java

?????文件????????816??2011-10-27?09:26??cert\test.java

?????目錄??????????0??2011-10-27?09:20??cert

-----------?---------??----------?-----??----

?????????????????6166????????????????????4


評論

共有 條評論