mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-07 18:22:57 +08:00
594 lines
29 KiB
HTML
594 lines
29 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact1, compact2, compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.security.cert
|
||
</div>
|
||
<h2 class="title" title="Class X509Certificate">Class X509Certificate</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li><a href="../../../javax/security/cert/Certificate.html" title="class in javax.security.cert">javax.security.cert.Certificate</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.security.cert.X509Certificate</li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">X509Certificate</span>
|
||
extends <a href="../../../javax/security/cert/Certificate.html" title="class in javax.security.cert">Certificate</a></pre>
|
||
<div class="block">
|
||
<span>X.509 v1证书的抽象类。</span>
|
||
<span>这提供了访问X.509证书的所有版本1属性的标准方法。</span>
|
||
<span>通过此界面无法使用特定于X.509 v2或v3的属性。</span>
|
||
<span>未来的API演进将提供对完整的X.509 v3属性的完全访问。</span>
|
||
<p> <span>基本的X.509格式由ISO / IEC和ANSI X9定义,并在ASN.1中进行了描述:</span> </p>
|
||
<pre> <span>Certificate ::= SEQUENCE {
|
||
tbsCertificate TBSCertificate,
|
||
signatureAlgorithm AlgorithmIdentifier,
|
||
signature BIT STRING }</span> </pre>
|
||
<p> <span>这些证书被广泛用于支持Internet安全系统中的身份验证和其他功能。</span> <span>通用应用包括隐私增强邮件(PEM),传输层安全性(SSL),可靠软件分发的代码签名和安全电子交易(SET)。</span> </p>
|
||
<p> <span>这些证书由<em>证书颁发机构</em> (CA)进行管理和<em>验证</em> 。</span> <span>CA是通过以X.509标准格式放置数据然后对数据进行数字签名来创建证书的服务。</span> <span>CA作为可信赖的第三方,引导彼此之间没有直接了解的校长之间。</span> <span>CA证书是由他们自己签名的,或由其他CA(如“root”)CA签名的。</span> </p>
|
||
<p> <span>tbsCertificate的ASN.1 <code>tbsCertificate</code>是:</span> </p>
|
||
<pre> <span>TBSCertificate ::= SEQUENCE {
|
||
version [0] EXPLICIT Version DEFAULT v1,
|
||
serialNumber CertificateSerialNumber,
|
||
signature AlgorithmIdentifier,
|
||
issuer Name,
|
||
validity Validity,
|
||
subject Name,
|
||
subjectPublicKeyInfo SubjectPublicKeyInfo,
|
||
}</span> </pre>
|
||
<p> <span>以下是实例化X.509证书的示例代码:</span> </p>
|
||
<pre> <span>InputStream inStream = new FileInputStream("fileName-of-cert");
|
||
X509Certificate cert = X509Certificate.getInstance(inStream);
|
||
inStream.close();</span> </pre>
|
||
<span>要么</span>
|
||
<pre> <span>byte[] certData = <certificate read from a file, say>
|
||
X509Certificate cert = X509Certificate.getInstance(certData);</span> </pre>
|
||
<p> <span>在这两种情况下,实例化X.509证书的代码都会参考<code>cert.provider.x509v1</code>安全性属性的值来定位实际实现或实例化默认实现。</span> </p>
|
||
<p> <span><code>cert.provider.x509v1</code>属性设置为X.509的默认实现,如:</span> </p>
|
||
<pre> <span>cert.provider.x509v1=com.sun.security.cert.internal.x509.X509V1CertImpl</span> </pre>
|
||
<p> <span>此<code>cert.provider.x509v1</code>属性的值必须更改为实例化另一个实现。</span> <span>如果未设置此安全属性,将使用默认实现。</span> <span>目前,由于对安全属性访问的可能的安全限制,此值将在类初始化时被查找并缓存,如果安全属性不可访问,则将返回到默认实现。</span> </p>
|
||
<p> <span><em>注意:包装<code>javax.security.cert</code>的类存在与早期版本的Java安全套接字扩展(JSSE)的兼容性。</em></span> <span><em>应该使用新应用程序使用位于<code>java.security.cert</code>的标准Java SE证书类。</em></span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.4
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/security/cert/Certificate.html" title="javax.security.cert中的类"><code>Certificate</code></a> , <a href="../../../java/security/cert/X509Extension.html" title="java.security.cert中的接口"><code>X509Extension</code></a> , <a href="../../../java/security/Security.html" title="java.security中的类"><code>security properties</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.summary">
|
||
<!-- --> </a> <h3>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colOne" scope="col">Constructor and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#X509Certificate--">X509Certificate</a></span>()</code> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code>abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#checkValidity--">checkValidity</a></span>()</code>
|
||
<div class="block">
|
||
检查证书当前是否有效。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#checkValidity-java.util.Date-">checkValidity</a></span>(<a href="../../../java/util/Date.html" title="class in java.util">Date</a> date)</code>
|
||
<div class="block">
|
||
检查指定的日期是否在证书的有效期内。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>static <a href="../../../javax/security/cert/X509Certificate.html" title="class in javax.security.cert">X509Certificate</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getInstance-byte:A-">getInstance</a></span>(byte[] certData)</code>
|
||
<div class="block">
|
||
实例化一个X509Certificate对象,并用指定的字节数组初始化它。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>static <a href="../../../javax/security/cert/X509Certificate.html" title="class in javax.security.cert">X509Certificate</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getInstance-java.io.InputStream-">getInstance</a></span>(<a href="../../../java/io/InputStream.html" title="class in java.io">InputStream</a> inStream)</code>
|
||
<div class="block">
|
||
实例化一个X509Certificate对象,并使用从输入流
|
||
<code>inStream</code>读取的数据进行
|
||
<code>inStream</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getIssuerDN--">getIssuerDN</a></span>()</code>
|
||
<div class="block">
|
||
从
|
||
<code>issuer</code>获取
|
||
<code>issuer</code> (发行人可分辨名称)值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/util/Date.html" title="class in java.util">Date</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getNotAfter--">getNotAfter</a></span>()</code>
|
||
<div class="block">
|
||
从
|
||
<code>notAfter</code>的有效期获取
|
||
<code>notAfter</code>日期。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/util/Date.html" title="class in java.util">Date</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getNotBefore--">getNotBefore</a></span>()</code>
|
||
<div class="block">
|
||
从
|
||
<code>notBefore</code>的有效期获取
|
||
<code>notBefore</code>日期。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/math/BigInteger.html" title="class in java.math">BigInteger</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getSerialNumber--">getSerialNumber</a></span>()</code>
|
||
<div class="block">
|
||
从证书获取
|
||
<code>serialNumber</code>值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getSigAlgName--">getSigAlgName</a></span>()</code>
|
||
<div class="block">
|
||
获取证书签名算法的签名算法名称。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getSigAlgOID--">getSigAlgOID</a></span>()</code>
|
||
<div class="block">
|
||
从证书获取签名算法OID字符串。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<td class="colFirst"><code>abstract byte[]</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getSigAlgParams--">getSigAlgParams</a></span>()</code>
|
||
<div class="block">
|
||
从该证书的签名算法获取DER编码的签名算法参数。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i11">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getSubjectDN--">getSubjectDN</a></span>()</code>
|
||
<div class="block">
|
||
从
|
||
<code>subject</code>获取
|
||
<code>subject</code> (主题可分辨名称)值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i12">
|
||
<td class="colFirst"><code>abstract int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/cert/X509Certificate.html#getVersion--">getVersion</a></span>()</code>
|
||
<div class="block">
|
||
从
|
||
<code>version</code>获取
|
||
<code>version</code> (版本号)值。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.javax.security.cert.Certificate">
|
||
<!-- --> </a> <h3>Methods inherited from class javax.security.cert.<a href="../../../javax/security/cert/Certificate.html" title="class in javax.security.cert">Certificate</a></h3> <code><a href="../../../javax/security/cert/Certificate.html#equals-java.lang.Object-">equals</a>, <a href="../../../javax/security/cert/Certificate.html#getEncoded--">getEncoded</a>, <a href="../../../javax/security/cert/Certificate.html#getPublicKey--">getPublicKey</a>, <a href="../../../javax/security/cert/Certificate.html#hashCode--">hashCode</a>, <a href="../../../javax/security/cert/Certificate.html#toString--">toString</a>, <a href="../../../javax/security/cert/Certificate.html#verify-java.security.PublicKey-">verify</a>, <a href="../../../javax/security/cert/Certificate.html#verify-java.security.PublicKey-java.lang.String-">verify</a></code></li>
|
||
</ul>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="X509Certificate--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>X509Certificate</h4> <pre>public X509Certificate()</pre> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="getInstance-java.io.InputStream-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getInstance</h4> <pre>public static final <a href="../../../javax/security/cert/X509Certificate.html" title="class in javax.security.cert">X509Certificate</a> getInstance(<a href="../../../java/io/InputStream.html" title="class in java.io">InputStream</a> inStream)
|
||
throws <a href="../../../javax/security/cert/CertificateException.html" title="class in javax.security.cert">CertificateException</a></pre>
|
||
<div class="block">
|
||
<span>实例化一个X509Certificate对象,并使用从输入流<code>inStream</code>读取的数据进行<code>inStream</code> 。</span>
|
||
<span>实现(X509Certificate是抽象类)由指定为<code>cert.provider.x509v1</code> security属性值的类提供。</span>
|
||
<p> <span>注意:预计只有一个DER编码证书在输入流中。</span> <span>此外,所有X509Certificate子类都必须提供以下形式的构造函数:</span> </p>
|
||
<pre> <span><code> public <subClass>(InputStream inStream) ... </code></span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>inStream</code> - 要读取的数据的
|
||
<code>inStream</code>的输入流。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
用输入流中的数据初始化一个X509Certificate对象。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateException.html" title="class in javax.security.cert">CertificateException</a></code> - 如果发生类初始化或证书解析错误。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getInstance-byte:A-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getInstance</h4> <pre>public static final <a href="../../../javax/security/cert/X509Certificate.html" title="class in javax.security.cert">X509Certificate</a> getInstance(byte[] certData)
|
||
throws <a href="../../../javax/security/cert/CertificateException.html" title="class in javax.security.cert">CertificateException</a></pre>
|
||
<div class="block">
|
||
<span>实例化一个X509Certificate对象,并用指定的字节数组初始化它。</span>
|
||
<span>实现(X509Certificate是一个抽象类)由指定为<code>cert.provider.x509v1</code>安全属性值的类提供。</span>
|
||
<p> <span>注意:所有X509Certificate子类必须提供以下形式的构造函数:</span> </p>
|
||
<pre> <span><code> public <subClass>(InputStream inStream) ... </code></span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>certData</code> - 包含DER编码证书的字节数组。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个X509Certificate对象用certData的数据
|
||
<code>certData</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateException.html" title="class in javax.security.cert">CertificateException</a></code> - 如果发生类初始化或证书解析错误。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="checkValidity--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>checkValidity</h4> <pre>public abstract void checkValidity()
|
||
throws <a href="../../../javax/security/cert/CertificateExpiredException.html" title="class in javax.security.cert">CertificateExpiredException</a>,
|
||
<a href="../../../javax/security/cert/CertificateNotYetValidException.html" title="class in javax.security.cert">CertificateNotYetValidException</a></pre>
|
||
<div class="block">
|
||
<span>检查证书当前是否有效。</span>
|
||
<span>如果当前日期和时间在证书中给出的有效期内。</span>
|
||
<p> <span>有效期由两个日期/时间值组成:证书有效的第一个和最后一个日期(和时间)。</span> <span>它在ASN.1中定义为:</span> </p>
|
||
<pre> <span>validity Validity
|
||
|
||
Validity ::= SEQUENCE {
|
||
notBefore CertificateValidityDate,
|
||
notAfter CertificateValidityDate }
|
||
|
||
CertificateValidityDate ::= CHOICE {
|
||
utcTime UTCTime,
|
||
generalTime GeneralizedTime }</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateExpiredException.html" title="class in javax.security.cert">CertificateExpiredException</a></code> - 如果证书已过期。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateNotYetValidException.html" title="class in javax.security.cert">CertificateNotYetValidException</a></code> - 如果证书尚未生效。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="checkValidity-java.util.Date-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>checkValidity</h4> <pre>public abstract void checkValidity(<a href="../../../java/util/Date.html" title="class in java.util">Date</a> date)
|
||
throws <a href="../../../javax/security/cert/CertificateExpiredException.html" title="class in javax.security.cert">CertificateExpiredException</a>,
|
||
<a href="../../../javax/security/cert/CertificateNotYetValidException.html" title="class in javax.security.cert">CertificateNotYetValidException</a></pre>
|
||
<div class="block">
|
||
<span>检查指定的日期是否在证书的有效期内。</span>
|
||
<span>换句话说,这将决定证书是否在指定的日期/时间有效。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>date</code> - 在该日期/时间检查此证书是否有效的日期。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateExpiredException.html" title="class in javax.security.cert">CertificateExpiredException</a></code> - 如果证书已经到期提供的
|
||
<code>date</code> 。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../javax/security/cert/CertificateNotYetValidException.html" title="class in javax.security.cert">CertificateNotYetValidException</a></code> - 如果证书不符合提供的
|
||
<code>date</code>有效。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/security/cert/X509Certificate.html#checkValidity--"><code>checkValidity()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getVersion--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getVersion</h4> <pre>public abstract int getVersion()</pre>
|
||
<div class="block">
|
||
<span>从<code>version</code>获取<code>version</code> (版本号)值。</span>
|
||
<span>ASN.1的定义是:</span>
|
||
<pre> <span>version [0] EXPLICIT Version DEFAULT v1
|
||
|
||
Version ::= INTEGER { v1(0), v2(1), v3(2) }</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
来自ASN.1编码的版本号,即0,1或2。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSerialNumber--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getSerialNumber</h4> <pre>public abstract <a href="../../../java/math/BigInteger.html" title="class in java.math">BigInteger</a> getSerialNumber()</pre>
|
||
<div class="block">
|
||
<span>从证书中获取<code>serialNumber</code>值。</span>
|
||
<span>序列号是由证书颁发机构分配给每个证书的整数。</span>
|
||
<span>对于由给定CA颁发的每个证书(即,发行者名称和序列号标识唯一证书),它必须是唯一的。</span>
|
||
<span>ASN.1的定义是:</span>
|
||
<pre> <span>serialNumber CertificateSerialNumber
|
||
|
||
CertificateSerialNumber ::= INTEGER</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
序列号。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getIssuerDN--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getIssuerDN</h4> <pre>public abstract <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a> getIssuerDN()</pre>
|
||
<div class="block">
|
||
<span>从<code>issuer</code>获取<code>issuer</code> (发行人可分辨名称)值。</span>
|
||
<span>发行人名称标识签发(并签发)证书的实体。</span>
|
||
<p> <span>发行人名称字段包含X.500可分辨名称(DN)。</span> <span>ASN.1的定义是:</span> </p>
|
||
<pre> <span>issuer Name
|
||
|
||
Name ::= CHOICE { RDNSequence }
|
||
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
|
||
RelativeDistinguishedName ::=
|
||
SET OF AttributeValueAssertion
|
||
|
||
AttributeValueAssertion ::= SEQUENCE {
|
||
AttributeType,
|
||
AttributeValue }
|
||
AttributeType ::= OBJECT IDENTIFIER
|
||
AttributeValue ::= ANY</span> </pre>
|
||
<span><code>Name</code>描述了由属性组成的分层名称,例如国家名称和对应的值,例如US。</span>
|
||
<span><code>AttributeValue</code>组件的类型由<code>AttributeType</code> ;</span>
|
||
<span>一般会是<code>directoryString</code> 。</span>
|
||
<span>甲<code>directoryString</code>通常之一<code>PrintableString</code> , <code>TeletexString</code>或<code>UniversalString</code> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一位姓名为发行人名称的校长。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSubjectDN--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getSubjectDN</h4> <pre>public abstract <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a> getSubjectDN()</pre>
|
||
<div class="block">
|
||
<span>从<code>subject</code>获取<code>subject</code> (主题可分辨名称)值。</span>
|
||
<span>ASN.1的定义是:</span>
|
||
<pre> <span>subject Name</span> </pre>
|
||
<p> <span>关于<a href="../../../javax/security/cert/X509Certificate.html#getIssuerDN--">Name</a>的<code>Name</code>和其他相关定义。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
名称为主题名称的校长。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/security/cert/X509Certificate.html#getIssuerDN--"><code>getIssuerDN()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getNotBefore--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getNotBefore</h4> <pre>public abstract <a href="../../../java/util/Date.html" title="class in java.util">Date</a> getNotBefore()</pre>
|
||
<div class="block">
|
||
<span>从<code>notBefore</code>的有效期获取<code>notBefore</code>日期。</span>
|
||
<span>相关的ASN.1定义是:</span>
|
||
<pre> <span>validity Validity
|
||
|
||
Validity ::= SEQUENCE {
|
||
notBefore CertificateValidityDate,
|
||
notAfter CertificateValidityDate }
|
||
|
||
CertificateValidityDate ::= CHOICE {
|
||
utcTime UTCTime,
|
||
generalTime GeneralizedTime }</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
有效期的开始日期。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/security/cert/X509Certificate.html#checkValidity--"><code>checkValidity()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getNotAfter--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getNotAfter</h4> <pre>public abstract <a href="../../../java/util/Date.html" title="class in java.util">Date</a> getNotAfter()</pre>
|
||
<div class="block">
|
||
<span>从<code>notAfter</code>的有效期获取<code>notAfter</code>日期。</span>
|
||
<span>见<a href="../../../javax/security/cert/X509Certificate.html#getNotBefore--"><code>getNotBefore</code></a>对相关的ASN.1定义。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
有效期结束日期。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/security/cert/X509Certificate.html#checkValidity--"><code>checkValidity()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSigAlgName--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getSigAlgName</h4> <pre>public abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a> getSigAlgName()</pre>
|
||
<div class="block">
|
||
<span>获取证书签名算法的签名算法名称。</span>
|
||
<span>一个例子是字符串“SHA-1 / DSA”。</span>
|
||
<span>ASN.1的定义是:</span>
|
||
<pre> <span>signatureAlgorithm AlgorithmIdentifier
|
||
|
||
AlgorithmIdentifier ::= SEQUENCE {
|
||
algorithm OBJECT IDENTIFIER,
|
||
parameters ANY DEFINED BY algorithm OPTIONAL }
|
||
-- contains a value of the type
|
||
-- registered for use with the
|
||
-- algorithm object identifier value</span> </pre>
|
||
<p> <span>算法名称由<code>algorithm</code> OID字符串确定。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
签名算法名称。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSigAlgOID--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getSigAlgOID</h4> <pre>public abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a> getSigAlgOID()</pre>
|
||
<div class="block">
|
||
<span>从证书获取签名算法OID字符串。</span>
|
||
<span>OID由一组由周期分隔的正整数表示。</span>
|
||
<span>例如,根据PKIX第一部分,字符串“1.2.840.10040.4.3”标识具有DSA签名算法的SHA-1。</span>
|
||
<p> <span>见<a href="../../../javax/security/cert/X509Certificate.html#getSigAlgName--"><code>getSigAlgName</code></a>对相关的ASN.1定义。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
签名算法OID字符串。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSigAlgParams--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getSigAlgParams</h4> <pre>public abstract byte[] getSigAlgParams()</pre>
|
||
<div class="block">
|
||
<span>从该证书的签名算法获取DER编码的签名算法参数。</span>
|
||
<span>在大多数情况下,签名算法参数为null;</span>
|
||
<span>参数通常随附证书的公钥一起提供。</span>
|
||
<p> <span>见<a href="../../../javax/security/cert/X509Certificate.html#getSigAlgName--"><code>getSigAlgName</code></a>对相关的ASN.1定义。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
DER编码的签名算法参数,如果没有参数,则为null。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |