uTools-Manuals/docs/java/javax/security/cert/X509Certificate.html

594 lines
29 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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 = &lt;certificate read from a file, say&gt;
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 &lt;subClass&gt;(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 &lt;subClass&gt;(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编码的版本号即01或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>