|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.security.cert.CertPath
public abstract class CertPath
불변인 증명서의 순서 (증명서 패스)입니다.
이것은 모든 CertPath
에 공통된 메소드를 정의하는 abstract 클래스입니다. 서브 클래스에서는, 다양한 종류의 증명서 (X. 509, PGP 등)을 처리할 수 있습니다.
모든 CertPath
에는 타입,Certificate
의 리스트, 지원되는 1 개(살) 이상의 encode가 있습니다. CertPath
클래스는 불변이기 (위해)때문에, 구축 후에 외부로부터 눈에 보이는 형태로 CertPath
를 변경할 수 없습니다. 이것은, 이 클래스의 모든 public 필드와 메소드, 그리고 서브 클래스에서 추가 또는 오버라이드(override) 된 public 필드와 메소드에 들어맞읍니다.
타입은 String
로, 증명서 패스로 Certificate
의 타입을 특정합니다. 증명서 패스 certPath
의 각 증명서 cert
에서는,cert.getType(). equals(certPath.getType())
는 true
가 아니면 안됩니다.
Certificate
의 리스트는 0 개 이상의 Certificate
로부터 되는 순서 첨부의 List
입니다. 이 List
와 포함되는 Certificate
는 불변일 필요가 있습니다.
각각의 CertPath
객체는, 다른 상대에게 포함하거나 전송하거나 하기 위해서 바이트 배열로 변환할 수 있도록(듯이), 1 개(살) 이상의 encode를 지원하고 있지 않으면 안됩니다. 가능한 한 그 encode는, PKCS#7 와 같이 명확하게 문서화 되고 있는 표준으로 합니다. CertPath
로 지원되고 있는 encode 가운데 1 개를, 디폴트의 encode로 합니다. encode를 명시적으로 요구하지 않는 경우 (예를 들어 getEncoded()
메소드)에, 디폴트의 encode가 사용됩니다.
모든 CertPath
객체는 또,Serializable
입니다. 직렬화중에 CertPath
객체는 대체 CertPathRep
객체로 해석 처리됩니다. 이것에 의해, 기본적인 구현에 관계없이,CertPath
객체를 동등의 표현에 직렬화할 수 있습니다.
CertPath
객체는 CertificateFactory
로 작성됩니다만,CertPathBuilder
와 같은 다른 클래스로부터 반환되는 일도 있습니다.
규칙에서는,X509Certificate
로 구성되어 있는 X. 509 CertPath
는, 타겟 증명서로 시작되어, 트러스트 엥커가 발행한 증명서로 끝나도록(듯이) 순서 붙이고 되고 있습니다. 즉, 증명서의 발행자는, 그 다음에 계속되는 증명서의 주체가 됩니다. TrustAnchor
를 나타내는 증명서는, 증명서 패스에 포함되지 않습니다. 미검사의 X. 509 CertPath
는 이 규칙에 따르지 않습니다. PKIX CertPathValidator
는, 이 규칙의 위반을 검출하는 것으로써, 증명서 패스가 무효가 되어 CertPathValidatorException
. 하지만 throw 되는 것을 막습니다.
병행 액세스
모든 CertPath
객체는, thread에 대해서 안전하지 않으면 안됩니다. 즉, 이 클래스에서 정의된 메소드는, 악영향을 주는 일 없이, 복수 thread가 병행해 단일 CertPath
객체 (또는 1 개(살) 이상) 상에서 호출할 수가 있습니다. 이것은 CertPath.getCertificates
가 돌려주는 List
에 대해서도 들어맞읍니다.
CertPath
객체는 불변으로, 한편 thread에 대해서 안전하지 않으면 안 되기 때문에, 액세스의 동기의 걱정을 하는 일 없이, 다양한 코드에 이 객체를 건네줄 수가 있습니다. CertPath
객체와 List
객체가 불변이므로, 일반적으로, thread에 대해서 안전하게 하는 것은 어렵지는 않습니다.
CertificateFactory
,
CertPathBuilder
,
직렬화 된 형식 상자의 클래스의 개요 | |
---|---|
protected static class |
CertPath.CertPathRep
직렬화의 대체 CertPath 클래스입니다. |
생성자 의 개요 | |
---|---|
protected |
CertPath (String type)
지정된 타입의 CertPath 를 작성합니다. |
메소드의 개요 | |
---|---|
boolean |
equals (Object other)
지정된 객체와 이 증명서 패스가 동일한지 어떤지를 비교합니다. |
abstract List <? extends Certificate > |
getCertificates ()
이 증명서 패스내의 증명서의 리스트를 돌려줍니다. |
abstract byte[] |
getEncoded ()
디폴트의 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다. |
abstract byte[] |
getEncoded (String encoding)
지정한 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다. |
abstract Iterator <String > |
getEncodings ()
이 증명서 패스로 지원하는 encode의 반복을 돌려줍니다. |
String |
getType ()
이 증명서 패스내의 Certificate 의 타입을 돌려줍니다. |
int |
hashCode ()
이 증명서 패스의 해시 코드를 돌려줍니다. |
String |
toString ()
이 증명서 패스의 캐릭터 라인 표현을 돌려줍니다. |
protected Object |
writeReplace ()
직렬화 되는 CertPath 를 CertPathRep 객체에 옮겨놓습니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
protected CertPath(String type)
CertPath
를 작성합니다.
대부분의 사용자는 CertificateFactory
를 사용해 CertPath
를 작성하기 위해(때문에), 이 생성자 은 보호되고 있습니다.
type
- 이 패스내의 Certificate
의 타입의 표준명메소드의 상세 |
---|
public String getType()
Certificate
의 타입을 돌려줍니다. 이것은, 증명서 패스내의 모든 Certificate
에 대한 cert.getType()
로 반환되는 캐릭터 라인과 같습니다.
Certificate
의 타입 (null 는 되지 않는다)public abstract Iterator <String > getEncodings()
Iterator
를 remove
메소드로 변경하려고 하면(자),UnsupportedOperationException
가 throw 됩니다.
Iterator
public boolean equals(Object other)
CertPath
의 타입이 동일하고, 증명서의 List
가 (즉 List
내의 Certificate
가 암묵적으로) 동일한 경우, 이러한 CertPath
는 동일하게 됩니다. CertPath
는 CertPath
가 아닌 객체와 동일해질 것은 없습니다. 이 알고리즘은 이 메소드에 구현되고 있습니다. 오버라이드(override) 할 때는, 여기서 설명한 동작이 유지되도록(듯이) 하지 않으면 안됩니다.
Object
내의 equals
other
- 이 증명서 패스와 동일한지 어떤지가 판정되는 객체
Object.hashCode()
,
Hashtable
public int hashCode()
hashCode = path.getType(). hashCode();
hashCode = 31*hashCode + path.getCertificates(). hashCode();
이것에 의해,Object.hashCode
의 일반 규약에 의해 요구되도록(듯이), 임의의 2 개의 증명서 패스 path1
와 path2
로,path1.equals(path2)
이면 path1.hashCode() ==path2.hashCode()
가 되는 것이 보증됩니다.
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
Certificate
로 toString
메소드를 호출합니다.
Object
내의 toString
public abstract byte[] getEncoded() throws CertificateEncodingException
CertificateEncodingException
- encode 에러가 발생했을 경우public abstract byte[] getEncoded(String encoding) throws CertificateEncodingException
encoding
- 사용하는 encode명
CertificateEncodingException
- encode 에러가 발생했을 경우, 또는 지정된 encode가 지원되어 있지 않은 경우public abstract List <? extends Certificate > getCertificates()
List
는 불변으로, thread에 대해서 안전하지 않으면 안됩니다.
Certificate
의 불변인 List
(빈 상태(empty)은 가능, null 는 불가)protected Object writeReplace() throws ObjectStreamException
CertPath
를 CertPathRep
객체에 옮겨놓습니다.
CertPathRep
ObjectStreamException
- 이 증명서 패스를 나타내는 CertPathRep
를 생성할 수 없었던 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.