JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security.cert
클래스 CertPath

java.lang.Object 
  |
  +--java.security.cert.CertPath
모든 구현 인터페이스:
Serializable

public abstract class CertPath
extends Object
implements Serializable

불변인 증명서의 순차 순서 (증명서 패스)입니다.

이것은 모든 CertPath 에 공통된 메소드를 정의하는 abstract 클래스입니다. 서브 클래스에서는 다양한 종류의 증명서 (X. 509, PGP 등)을 처리할 수 있습니다.

모든 CertPath 에는 타입,Certificate 의 리스트, 서포트되는 1 kr 이상의 encode가 있습니다. CertPath 클래스는 불변이기 (위해)때문에, 구축 후에 외부로부터 눈에 보이는 형태로 CertPath 를 변경할 수 없습니다. 이 제한은 이 클래스의 모든 public 필드와 메소드, 그리고 서브 클래스에서 추가 또는 오버라이드(override) 된 public 필드와 메소드에 들어맞읍니다.

타입은 String 로, 증명서 패스로 Certificate 의 타입을 특정합니다. 증명서 패스 certPath 의 각 증명서 cert 에서는 cert.getType(). equals(certPath.getType())true 가 아니면 안됩니다.

Certificate 의 리스트는 0 개 이상의 Certificate 로부터 되는 순서 첨부의 List 입니다. 이 List 와 포함되는 Certificate 는 불변일 필요가 있습니다.

각각의 CertPath 오브젝트는 다른 상대에게 저장하거나 전송하거나 하기 위해서 바이트 배열로 변환할 수 있게, 1 kr 이상의 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 를 슬로우 합니다.

병행 액세스

모든 CertPath 오브젝트는 thread 세이프가 아니면 안됩니다. 즉, 이 클래스에서 정의된 메소드는 악영향을 주는 일 없이, 복수 thread가 병행해 단일 CertPath 오브젝트 (또는 1 kr 이상) 상에서 호출할 수가 있습니다. 이것은 CertPath.getCertificates 가 돌려주는 List 에 대해서도 들어맞읍니다.

CertPath 오브젝트는 불변으로, 한편 thread 세이프가 아니면 안되기 때문에, 액세스의 동기의 걱정을 하는 일 없이, 다양한 코드에 이 오브젝트를 건네줄 수가 있습니다.

도입된 버젼:
1.4
관련 항목:
CertificateFactory , CertPathBuilder , 직렬화 된 형식

중첩된 클래스의 개요
protected static class CertPath.CertPathRep
          직렬화의 대체 CertPath 클래스입니다.
 
생성자의 개요
protected CertPath (String  type)
          지정된 타입의 CertPath 를 작성합니다.
 
메소드의 개요
 boolean equals (Object  other)
          지정된 오브젝트와 이 증명서 패스가 동일한지 어떤지를 비교합니다.
abstract  List getCertificates ()
          이 증명서 패스내의 증명서의 리스트를 돌려줍니다.
abstract  byte[] getEncoded ()
          디폴트의 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다.
abstract  byte[] getEncoded (String  encoding)
          지정한 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다.
abstract  Iterator getEncodings ()
          이 증명서 패스로 서포트하는 encode의 반복을 돌려줍니다.
 String getType ()
          이 증명서 패스내의 Certificate 의 타입을 돌려줍니다.
 int hashCode ()
          이 증명서 패스의 해시 코드를 돌려줍니다.
 String toString ()
          이 증명서 패스의 캐릭터 라인 표현을 돌려줍니다.
protected  Object writeReplace ()
          직렬화 되는 CertPathCertPathRep 오브젝트에 옮겨놓습니다.
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자의 상세

CertPath

protected CertPath(String  type)
지정된 타입의 CertPath 를 작성합니다.

대부분의 유저는 CertificateFactory 를 사용해 CertPath 를 작성하기 위해(때문에), 이 constructor 은 보호되고 있습니다.

파라미터:
type - 이 패스내의 Certificate 의 타입의 표준명
메소드의 상세

getType

public String  getType()
이 증명서 패스내의 Certificate 의 타입을 돌려줍니다. 이것은 증명서 패스내의 모든 Certificate 에 대한 cert.getType() 로 돌려주어지는 캐릭터 라인과 같습니다.

반환값:
이 증명서 패스내의 Certificate 의 타입 (null 는 되지 않는다)

getEncodings

public abstract Iterator  getEncodings()
이 증명서 패스로 서포트하는 encode의 반복을 돌려줍니다. 반복의 처음은 디폴트의 encode가 됩니다. 돌려주어진 Iteratorremove 메소드로 변경하려고 하면(자),UnsupportedOperationException 가 슬로우 됩니다.

반환값:
서포트되는 encode (String 로서)의 이름에 대한 Iterator

equals

public boolean equals(Object  other)
지정된 오브젝트와 이 증명서 패스가 동일한지 어떤지를 비교합니다. 2 개의 CertPath 의 타입이 동일하고, 증명서의 List 가 (즉 List 내의 Certificate 가 암묵적으로) 동일한 경우, 이러한 CertPath 는 동일하게 됩니다. CertPathCertPath 가 아닌 오브젝트와 동일해질 것은 없습니다.

이 알고리즘은 이 메소드에 구현되고 있습니다. 오버라이드(override) 할 때는 여기서 설명한 동작이 유지되도록(듯이) 하지 않으면 안됩니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
other - 이 증명서 패스와 동일한지 어떤지가 판정되는 오브젝트
반환값:
지정한 오브젝트가 이 증명서 패스에 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 증명서 패스의 해시 코드를 돌려줍니다. 증명서 패스의 해시 코드는 다음의 계산의 결과로서 정의됩니다.

  hashCode = path.getType(). hashCode();
  hashCode = 31*hashCode + path.getCertificates(). hashCode();
 
이것에 의해,Object.hashCode 의 일반 규약에 의해 요구되도록(듯이), 임의의 2 개의 증명서 패스 path1path2 로,path1.equals(path2) 이면 path1.hashCode() ==path2.hashCode() 가 되는 것이 프로텍션됩니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 증명서 패스에 있어서의 해시 코드치
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString()
이 증명서 패스의 캐릭터 라인 표현을 돌려줍니다. 패스의 각 CertificatetoString 메소드를 호출합니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 증명서 패스의 캐릭터 라인 표현

getEncoded

public abstract byte[] getEncoded()
                           throws CertificateEncodingException 
디폴트의 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다.

반환값:
encode 된 바이트
예외:
CertificateEncodingException - encode 에러가 발생했을 경우

getEncoded

public abstract byte[] getEncoded(String  encoding)
                           throws CertificateEncodingException 
지정한 encode를 사용해, 이 증명서 패스의 encode 된 형식을 돌려줍니다.

파라미터:
encoding - 사용하는 encode명
반환값:
encode 된 바이트
예외:
CertificateEncodingException - encode의 에러가 발생했을 경우, 혹은 지정한 encode가 서포트되어 있지 않은 경우

getCertificates

public abstract List  getCertificates()
이 증명서 패스내의 증명서의 리스트를 돌려줍니다. 돌려주어지는 List 는 불변으로, thread 세이프가 아니면 안됩니다.

반환값:
Certificate 의 불변인 List (하늘은 가능, null 는 불가)

writeReplace

protected Object  writeReplace()
                       throws ObjectStreamException 
직렬화 되는 CertPathCertPathRep 오브젝트에 옮겨놓습니다.

반환값:
직렬화 되는 CertPathRep
예외:
ObjectStreamException - 이 증명서 패스를 나타내는 CertPathRep 를 생성할 수 없었던 경우

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.