JavaTM Platform
Standard Ed. 6

javax.xml.crypto.dsig.keyinfo
클래스 KeyInfoFactory

java.lang.Object 
  상위를 확장 javax.xml.crypto.dsig.keyinfo.KeyInfoFactory


public abstract class KeyInfoFactory
extends Object

제로로부터 KeyInfo 객체를 작성, 또는 대응하는 XML 표현으로부터 KeyInfo 객체를 비정렬화하기 위한 팩토리.  

KeyInfoFactory 의 각 인스턴스는, 특정의 XML 기구형을 지원합니다. KeyInfoFactory 를 작성하려면 , static getInstance 메소드를 호출해, 목적의 XML 기구형내에서 건네줍니다. 다음에 예를 나타냅니다.

KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
 

팩토리가 생성하는 객체는 DOM 에 근거하고 있어 API 의 개요의 「DOM 기구 요건」섹션으로 정의되고 있는 DOM 상호 운용성의 요건에 따를 필요가 있습니다. 표준의 기구형의 리스트는, API 의 개요의 「서비스 프로바이더」섹션을 참조해 주세요.  

KeyInfoFactory 구현은,Provider 기구를 사용해 등록 및 로드 됩니다. 예를 들어, DOM 기구를 지원하는 서비스 프로바이더는 Provider 서브 클래스에서 다음과 같이 지정됩니다.

     put("KeyInfoFactory.DOM", "org.example.DOMKeyInfoFactory");
 
 

또, 이 팩토리에 의해 작성되는 XMLStructure 에는,KeyInfo 에 고유해 재사용에는 대응하고 있지 않는 상태가 포함됩니다.  

구현은, 디폴트의 기구형인 DOM 를 최저한 지원할 필요가 있습니다.  

호출측은 같은 KeyInfoFactory 인스턴스를 사용해, 특정의 KeyInfo 객체의 XMLStructure 를 작성할 필요가 있습니다. 다른 프로바이더로부터의 XMLStructure 또는 다른 기구가 함께 사용되는 경우, 동작은 정의되고 있지 않습니다.  

병행 액세스  

이 클래스의 static 메소드는, thread 세이프인 것이 보증되고 있습니다. 이 클래스에서 정의되고 있는 static 메소드는, 악영향을 주는 일 없이, 복수 thread가 병행해 호출할 수가 있습니다.  

그러나 이것은, 이 클래스에서 정의되고 있는 비 static 메소드에는 들어맞지 않습니다. 특정의 프로바이더로 특히 설명이 없는 한, 단일 KeyInfoFactory 인스턴스에 병행해 액세스 할 필요가 있는 복수 thread는, thread간에 동기를 잡아, 필요에 따라서 잠그지 않으면 안됩니다. 다른 KeyInfoFactory 인스턴스를 조작하는 복수 thread간으로는, 동기를 잡을 필요는 없습니다.

도입된 버젼:
1.6

생성자 의 개요
protected KeyInfoFactory ()
          서브 클래스에 의해 불려 가는 디폴트의 생성자.
 
메소드의 개요
static KeyInfoFactory getInstance ()
          디폴트의 XML 처리 기구 및 표현형 ("DOM")을 지원하는 KeyInfoFactory 를 돌려줍니다.
static KeyInfoFactory getInstance (String  mechanismType)
          지정된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 를 돌려줍니다.
static KeyInfoFactory getInstance (String  mechanismType, Provider  provider)
          지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 을 돌려줍니다.
static KeyInfoFactory getInstance (String  mechanismType, String  provider)
          지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 을 돌려줍니다.
 String getMechanismType ()
          이 KeyInfoFactory 가 지원하는 XML 처리 기구 및 표현의 형태를 돌려줍니다 (예: "DOM").
 Provider getProvider ()
          이 KeyInfoFactory 의 프로바이더를 돌려줍니다.
abstract  URIDereferencer getURIDereferencer ()
          RetrievalMethod 객체내에서 디폴트의 간접 참조 URI 에 사용되는 URIDereferencer 에의 참조를 돌려줍니다.
abstract  boolean isFeatureSupported (String  feature)
          지정한 기능이 지원될지 어떨지를 나타냅니다.
abstract  KeyInfo newKeyInfo (List  content)
          지정된 열쇠 정보의 형태의 리스트를 포함하는 KeyInfo 를 작성합니다.
abstract  KeyInfo newKeyInfo (List  content, String  id)
          지정된 열쇠 정보의 형태 및 생략 가능한 식별자의 리스트를 포함하는 KeyInfo 를 작성합니다.
abstract  KeyName newKeyName (String  name)
          지정된 이름으로부터 KeyName 를 작성합니다.
abstract  KeyValue newKeyValue (PublicKey  key)
          지정된 공개키로부터 KeyValue 를 작성합니다.
abstract  PGPData newPGPData (byte[] keyId)
          지정한 PGP 공개키 식별자로부터 PGPData 를 작성합니다.
abstract  PGPData newPGPData (byte[] keyId, byte[] keyPacket, List  other)
          지정한 PGP 공개키 식별자, 및 생략 가능한 열쇠 데이터 패킷과 외부 요소의 리스트로부터의 PGPData를 작성합니다.
abstract  PGPData newPGPData (byte[] keyPacket, List  other)
          지정한 PGP 열쇠 데이터 패킷, 및 생략 가능한 외부 요소의 리스트로부터의 PGPData 를 작성합니다.
abstract  RetrievalMethod newRetrievalMethod (String  uri)
          지정된 URI 로부터 RetrievalMethod 를 작성합니다.
abstract  RetrievalMethod newRetrievalMethod (String  uri, String  type, List  transforms)
          지정된 파라미터로부터 RetrievalMethod 를 작성합니다.
abstract  X509Data newX509Data (List  content)
          지정한 X. 509 컨텐츠의 리스트를 포함하는 X509Data 를 작성합니다.
abstract  X509IssuerSerial newX509IssuerSerial (String  issuerName, BigInteger  serialNumber)
          지정한 X. 500 발행자 식별명 및 시리얼 번호로부터 X509IssuerSerial 를 작성합니다.
abstract  KeyInfo unmarshalKeyInfo (XMLStructure  xmlStructure)
          기구 고유의 XMLStructure (례: DOMStructure ) 인스턴스로부터의 새로운 KeyInfo 인스턴스를 비정렬화합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

KeyInfoFactory

protected KeyInfoFactory()
서브 클래스에 의해 불려 가는 디폴트의 생성자.

메소드의 상세

getInstance

public static KeyInfoFactory  getInstance(String  mechanismType)
지정된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 를 돌려줍니다.  

이 메소드는 표준 JCA 프로바이더 검색 기구를 사용해, 목적의 기구형의 KeyInfoFactory 구현을 검출 및 인스턴스화합니다. 등록을 마친 시큐리티 Provider 의 리스트를, 최우선의 Provider 로부터 더듬습니다. 지정한 기구를 지원하는 최초의 Provider 로부터의 새로운 KeyInfoFactory 객체가 돌려주어집니다.  

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
mechanismType - XML 처리 기구 및 표현의 형태. 표준의 기구형의 리스트에 대해서는, API 의 개요의 「서비스 프로바이더」섹션을 참조해 주세요.
반환값:
새로운 KeyInfoFactory
예외:
NullPointerException - mechanismTypenull 의 경우
NoSuchMechanismException - 지정한 기구용의 KeyInfoFactory 구현을 지원하는 Provider 가 없는 경우
관련 항목:
Provider

getInstance

public static KeyInfoFactory  getInstance(String  mechanismType,
                                         Provider  provider)
지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 을 돌려줍니다. 지정한 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.

파라미터:
mechanismType - XML 처리 기구 및 표현의 형태. 표준의 기구형의 리스트에 대해서는, API 의 개요의 「서비스 프로바이더」섹션을 참조해 주세요.
provider - Provider 객체
반환값:
새로운 KeyInfoFactory
예외:
NullPointerException - mechanismType 또는 providernull 의 경우
NoSuchMechanismException - 지정한 기구용의 KeyInfoFactory 구현이 지정했다 Provider 객체로 사용할 수 없는 경우
관련 항목:
Provider

getInstance

public static KeyInfoFactory  getInstance(String  mechanismType,
                                         String  provider)
                                  throws NoSuchProviderException 
지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 KeyInfoFactory 을 돌려줍니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.  

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
mechanismType - XML 처리 기구 및 표현의 형태. 표준의 기구형의 리스트에 대해서는, API 의 개요의 「서비스 프로바이더」섹션을 참조해 주세요.
provider - 프로바이더명의 캐릭터 라인
반환값:
새로운 KeyInfoFactory
예외:
NoSuchProviderException - 지정된 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우
NullPointerException - mechanismType 또는 providernull 의 경우
NoSuchMechanismException - 지정한 기구용의 KeyInfoFactory 구현이 지정했다 프로바이더로 사용할 수 없는 경우
관련 항목:
Provider

getInstance

public static KeyInfoFactory  getInstance()
디폴트의 XML 처리 기구 및 표현형 ("DOM")을 지원하는 KeyInfoFactory 를 돌려줍니다.  

이 메소드는 표준 JCA 프로바이더 검색 기구를 사용해, 디폴트의 기구형의 KeyInfoFactory 구현을 검출 및 인스턴스화합니다. 등록을 마친 시큐리티 Provider 의 리스트를, 최우선의 Provider 로부터 더듬습니다. DOM 기구를 지원하는 최초의 Provider 로부터의 새로운 KeyInfoFactory 객체가 돌려주어집니다.  

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

반환값:
새로운 KeyInfoFactory
예외:
NoSuchMechanismException - DOM 기구용의 KeyInfoFactory 구현을 지원하는 Provider 가 없는 경우
관련 항목:
Provider

getMechanismType

public final String  getMechanismType()
KeyInfoFactory 가 지원하는 XML 처리 기구 및 표현의 형태를 돌려줍니다 (예: "DOM").

반환값:
KeyInfoFactory 가 지원하는 XML 처리 기구형

getProvider

public final Provider  getProvider()
KeyInfoFactory 의 프로바이더를 돌려줍니다.

반환값:
KeyInfoFactory 의 프로바이더

newKeyInfo

public abstract KeyInfo  newKeyInfo(List  content)
지정된 열쇠 정보의 형태의 리스트를 포함하는 KeyInfo 를 작성합니다.

파라미터:
content - 열쇠 정보의 형태를 표현한다 1 개(살) 이상 XMLStructure . 이후의 변경으로부터 보호하기 위해서, 리스트는 방어적으로 카피됩니다.
반환값:
KeyInfo
예외:
NullPointerException - contentnull 의 경우
IllegalArgumentException - content 가 빈 상태(empty)의 경우
ClassCastException - content 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newKeyInfo

public abstract KeyInfo  newKeyInfo(List  content,
                                   String  id)
지정된 열쇠 정보의 형태 및 생략 가능한 식별자의 리스트를 포함하는 KeyInfo 를 작성합니다. id 파라미터는 XML ID 속성의 값을 표현해, 다른 XML 구조로부터 KeyInfo 를 참조하는 경우에 편리합니다.

파라미터:
content - 열쇠 정보의 형태를 표현한다 1 개(살) 이상 XMLStructure . 이후의 변경으로부터 보호하기 위해서, 리스트는 방어적으로 카피됩니다.
id - XML ID 의 값. null 도 가능
반환값:
KeyInfo
예외:
NullPointerException - contentnull 의 경우
IllegalArgumentException - content 가 빈 상태(empty)의 경우
ClassCastException - content 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newKeyName

public abstract KeyName  newKeyName(String  name)
지정된 이름으로부터 KeyName 를 작성합니다.

파라미터:
name - 열쇠를 식별하는 이름
반환값:
KeyName
예외:
NullPointerException - namenull 의 경우

newKeyValue

public abstract KeyValue  newKeyValue(PublicKey  key)
                              throws KeyException 
지정된 공개키로부터 KeyValue 를 작성합니다.

파라미터:
key - 공개키
반환값:
KeyValue
예외:
KeyException - key 의 알고리즘이 이 KeyInfoFactory 에 의해 인식 또는 지원되지 않는 경우
NullPointerException - keynull 의 경우

newPGPData

public abstract PGPData  newPGPData(byte[] keyId)
지정한 PGP 공개키 식별자로부터 PGPData 를 작성합니다.

파라미터:
keyId - RFC 2440 , 섹션 11.2 로 정의되고 있는 PGP 공개키 식별자. 이후의 변경으로부터 보호하기 위해서, 이 배열은 복제됩니다.
반환값:
PGPData
예외:
NullPointerException - keyIdnull 의 경우
IllegalArgumentException - 열쇠 식별자가 올바른 형식이 아닌 경우

newPGPData

public abstract PGPData  newPGPData(byte[] keyId,
                                   byte[] keyPacket,
                                   List  other)
지정한 PGP 공개키 식별자, 및 생략 가능한 열쇠 데이터 패킷과 외부 요소의 리스트로부터의 PGPData를 작성합니다.

파라미터:
keyId - RFC 2440 , 섹션 11.2 로 정의되고 있는 PGP 공개키 식별자. 이후의 변경으로부터 보호하기 위해서, 이 배열은 복제됩니다.
keyPacket - RFC 2440 , 섹션 11.2 로 정의되고 있는 PGP 열쇠 데이터 패킷. 이후의 변경으로부터 보호하기 위해서, 이 배열은 복제됩니다. null 도 가능
other - 외부 이름 공간으로부터의 요소를 표현한다 XMLStructure 의 리스트. 이후의 변경으로부터 보호하기 위해서, 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
반환값:
PGPData
예외:
NullPointerException - keyIdnull 의 경우
IllegalArgumentException - keyId 또는 keyPacket 가 올바르지 않은 형식의 경우. keyPacket 의 경우, 패킷 헤더의 형식이 판정되어 태그는 열쇠 데이터의 형태일까 검사됩니다. 패킷 본체의 컨텐츠와 형식은 검사되지 않습니다.
ClassCastException - other 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newPGPData

public abstract PGPData  newPGPData(byte[] keyPacket,
                                   List  other)
지정한 PGP 열쇠 데이터 패킷, 및 생략 가능한 외부 요소의 리스트로부터의 PGPData 를 작성합니다.

파라미터:
keyPacket - RFC 2440 , 섹션 5.5 로 정의되고 있는 PGP 열쇠 데이터 패킷. 이후의 변경으로부터 보호하기 위해서, 이 배열은 복제됩니다.
other - 외부 이름 공간으로부터의 요소를 표현한다 XMLStructure 의 리스트. 이후의 변경으로부터 보호하기 위해서, 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
반환값:
PGPData
예외:
NullPointerException - keyPacketnull 의 경우
IllegalArgumentException - keyPacket 가 올바르지 않은 형식의 경우. keyPacket 의 경우, 패킷 헤더의 형식이 판정되어 태그는 열쇠 데이터의 형태일까 검사됩니다. 패킷 본체의 컨텐츠와 형식은 검사되지 않습니다.
ClassCastException - other 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newRetrievalMethod

public abstract RetrievalMethod  newRetrievalMethod(String  uri)
지정된 URI 로부터 RetrievalMethod 를 작성합니다.

파라미터:
uri - 취득하는 KeyInfo 정보를 식별한다 URI
반환값:
RetrievalMethod
예외:
NullPointerException - urinull 의 경우
IllegalArgumentException - uri 가 RFC 2396 준거가 아닌 경우

newRetrievalMethod

public abstract RetrievalMethod  newRetrievalMethod(String  uri,
                                                   String  type,
                                                   List  transforms)
지정된 파라미터로부터 RetrievalMethod 를 작성합니다.

파라미터:
uri - 취득하는 KeyInfo 정보를 식별한다 URI
type - 취득하는 KeyInfo 정보를 식별하는 URI. null 도 가능
transforms - Transform 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
반환값:
RetrievalMethod
예외:
NullPointerException - urinull 의 경우
IllegalArgumentException - uri 가 RFC 2396 준거가 아닌 경우
ClassCastException - transforms 에 형태 Transform 가 아닌 엔트리가 포함되는 경우

newX509Data

public abstract X509Data  newX509Data(List  content)
지정한 X. 509 컨텐츠의 리스트를 포함하는 X509Data 를 작성합니다.

파라미터:
content - 1 개(살) 이상의 X. 509 컨텐츠형의 리스트. 유효한 형태는, String (피인증자명),byte[] (피인증자의 열쇠 식별자), X509Certificate ,X509CRL , 또는XMLStructure (외부 이름 공간으로부터의 X509IssuerSerial 객체 또는 요소). 피인증자명은 RFC 2253 String 형식의 식별명입니다. 구현은, RFC 2253 으로 정의되고 있는 속성의 형태 키워드 (CN, L, ST, O, OU, C, STREET, DC 및 UID)를 지원할 필요가 있습니다. 구현은, 추가의 키워드를 지원하는 일도 할 수 있습니다. 이후의 변경으로부터 보호하기 위해서, 리스트는 방어적으로 카피됩니다.
반환값:
X509Data
예외:
NullPointerException - contentnull 의 경우
IllegalArgumentException - content 가 빈 상태(empty)의 경우, 또는 피인증자명이 RFC 2253 준거가 아닌 또는 속성의 형태 키워드의 1 개가 인식되지 않는 경우
ClassCastException - content 에 상기의 유효한 형태의 1 개가 아닌 엔트리가 포함되어 있는 경우

newX509IssuerSerial

public abstract X509IssuerSerial  newX509IssuerSerial(String  issuerName,
                                                     BigInteger  serialNumber)
지정한 X. 500 발행자 식별명 및 시리얼 번호로부터 X509IssuerSerial 를 작성합니다.

파라미터:
issuerName - RFC 2253 String 형식의 발행자의 식별명. 구현은, RFC 2253 으로 정의되고 있는 속성의 형태 키워드 (CN, L, ST, O, OU, C, STREET, DC 및 UID)(을)를 지원할 필요가 있습니다. 구현은, 추가의 키워드를 지원할 수도 있습니다.
serialNumber - 시리얼 번호
반환값:
X509IssuerSerial
예외:
NullPointerException - issuerName 또는 serialNumbernull 의 경우
IllegalArgumentException - 발행자명이 RFC 2253 준거가 아닌 경우, 또는 속성의 형태 키워드가 인식되지 않는 경우

isFeatureSupported

public abstract boolean isFeatureSupported(String  feature)
지정한 기능이 지원될지 어떨지를 나타냅니다.

파라미터:
feature - 기능명 (절대 URI 로서)
반환값:
기능이 지원되는 경우는 true. 그렇지 않은 경우는 false
예외:
NullPointerException - featurenull 의 경우

getURIDereferencer

public abstract URIDereferencer  getURIDereferencer()
RetrievalMethod 객체내에서 디폴트의 간접 참조 URI 에 사용되는 URIDereferencer 에의 참조를 돌려줍니다.

반환값:
디폴트의 URIDereferencer 에의 참조

unmarshalKeyInfo

public abstract KeyInfo  unmarshalKeyInfo(XMLStructure  xmlStructure)
                                  throws MarshalException 
기구 고유의 XMLStructure (례: DOMStructure ) 인스턴스로부터의 새로운 KeyInfo 인스턴스를 비정렬화합니다.

파라미터:
xmlStructure - keyinfo 의 비정렬화를 개시한다 기구 고유의 XML 구조
반환값:
KeyInfo
예외:
NullPointerException - xmlStructurenull 의 경우
ClassCastException - xmlStructure 의 형태가 이 팩토리에는 올바르지 않은 경우
MarshalException - 비정렬화중에 회복 불능인 예외가 발생했을 경우

JavaTM Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.