JavaTM Platform
Standard Ed. 6

javax.xml.crypto.dsig
클래스 XMLSignatureFactory

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


public abstract class XMLSignatureFactory
extends Object

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

XMLSignatureFactory 형

 

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

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

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

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

     put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
 
 

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

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

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

제로로부터 XMLSignature 를 작성한다

 

XMLSignatureFactory 가 작성되면(자), 객체는 적절한 메소드를 호출해 인스턴스화할 수 있습니다. 예를 들어,Reference 인스턴스는,newReference 메소드의 1 개를 호출하는 것으로 작성됩니다.

XML 로부터 XMLSignature 를 비정렬화한다

 

또는,unmarshalXMLSignature 메소드를 호출해 XML 컨텐츠를 포함하는 기구 고유 XMLValidateContext 인스턴스에 건네주는 것에 의해, 기존의 XML 표현으로부터 XMLSignature 를 작성할 수가 있습니다.

 DOMValidateContext context = new DOMValidateContext(key, signatureElement);
 XMLSignature signature = factory.unmarshalXMLSignature(context);
 
XMLSignatureFactory 는, 그 팩토리형용으로 필수의 XMLValidateContext 형을 지원할 필요가 있습니다만, 그 외를 지원할 수도 있습니다. DOM XMLSignatureFactory 는,DOMValidateContext 객체를 지원할 필요가 있습니다.

XML 에의 XMLSignature 의 서명 및 정렬화

팩토리에 의해 작성되는 각 XMLSignature 는,XMLSignature 객체의 sign 메소드를 호출해, 서명열쇠 및 정렬화 파라미터를 포함하는 기구 고유 XMLSignContext 객체에 건네주는 것에 의해, XML 표현에 대해서 정렬화해 서명할 수도 있습니다 (DOMSignContext 를 참조). 다음에 예를 나타냅니다.
    DOMSignContext context = new DOMSignContext(privateKey, document);
    signature.sign(context);
 
병행 액세스  

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

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

도입된 버젼:
1.6

생성자 의 개요
protected XMLSignatureFactory ()
          디폴트의 생성자 , 서브 클래스에 의한 호출용.
 
메소드의 개요
static XMLSignatureFactory getInstance ()
          디폴트의 XML 처리 기구 및 표현형 ("DOM")을 지원하는 XMLSignatureFactory 를 돌려줍니다.
static XMLSignatureFactory getInstance (String  mechanismType)
          지정된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 XMLSignatureFactory 를 돌려줍니다.
static XMLSignatureFactory getInstance (String  mechanismType, Provider  provider)
          지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 XMLSignatureFactory 를 돌려줍니다.
static XMLSignatureFactory getInstance (String  mechanismType, String  provider)
          지정한 프로바이더가 제공한다, 요구된 XML 처리 기구 및 표현형 (예: "DOM")을 지원하는 XMLSignatureFactory 를 돌려줍니다.
 KeyInfoFactory getKeyInfoFactory ()
          KeyInfo 객체를 작성하는 KeyInfoFactory 를 돌려줍니다.
 String getMechanismType ()
          이 XMLSignatureFactory 가 지원하는 XML 처리 기구 및 표현의 형태를 돌려줍니다 (예: "DOM").
 Provider getProvider ()
          이 XMLSignatureFactory 의 프로바이더를 돌려줍니다.
abstract  URIDereferencer getURIDereferencer ()
          Reference 객체내에서 디폴트의 간접 참조 URI 에 사용되는 URIDereferencer 에의 참조를 돌려줍니다.
abstract  boolean isFeatureSupported (String  feature)
          지정한 기능이 지원될지 어떨지를 나타냅니다.
abstract  CanonicalizationMethod newCanonicalizationMethod (String  algorithm, C14NMethodParameterSpec  params)
          지정한 알고리즘 URI 및 파라미터용으로 CanonicalizationMethod 를 작성합니다.
abstract  CanonicalizationMethod newCanonicalizationMethod (String  algorithm, XMLStructure  params)
          지정한 알고리즘 URI 및 파라미터용으로 CanonicalizationMethod 를 작성합니다.
abstract  DigestMethod newDigestMethod (String  algorithm, DigestMethodParameterSpec  params)
          지정한 알고리즘 URI 및 파라미터용으로 DigestMethod 를 작성합니다.
abstract  Manifest newManifest (List  references)
          지정된 Reference 의 리스트를 포함하는 Manifest 를 작성합니다.
abstract  Manifest newManifest (List  references, String  id)
          지정한 Reference 및 생략 가능한 id 의 리스트를 포함하는 Manifest 를 작성합니다.
abstract  Reference newReference (String  uri, DigestMethod  dm)
          지정된 URI 및 다이제스트 메소드로 Reference 를 작성합니다.
abstract  Reference newReference (String  uri, DigestMethod  dm, List  appliedTransforms, Data  result, List  transforms, String  type, String  id)
          지정한 파라미터로 Reference 를 작성합니다.
abstract  Reference newReference (String  uri, DigestMethod  dm, List  transforms, String  type, String  id)
          지정된 파라미터로 Reference 를 작성합니다.
abstract  Reference newReference (String  uri, DigestMethod  dm, List  transforms, String  type, String  id, byte[] digestValue)
          지정된 파라미터 및 미리 계산된 다이제스트치로 Reference 를 작성합니다.
abstract  SignatureMethod newSignatureMethod (String  algorithm, SignatureMethodParameterSpec  params)
          지정한 알고리즘 URI 및 파라미터용으로 SignatureMethod 를 작성합니다.
abstract  SignatureProperties newSignatureProperties (List  properties, String  id)
          지정한 SignatureProperty 및 생략 가능한 id 의 리스트를 포함하는 SignatureProperties 를 작성합니다.
abstract  SignatureProperty newSignatureProperty (List  content, String  target, String  id)
          지정한 XMLStructure , 타겟 URI 및 생략 가능한 id 의 리스트를 포함하는 SignatureProperty 를 작성합니다.
abstract  SignedInfo newSignedInfo (CanonicalizationMethod  cm, SignatureMethod  sm, List  references)
          지정한 표준화 메소드 및 서명 메소드, 1 개(살) 이상의 참조의 리스트를 사용해 SignedInfo 를 작성합니다.
abstract  SignedInfo newSignedInfo (CanonicalizationMethod  cm, SignatureMethod  sm, List  references, String  id)
          지정한 파라미터로 SignedInfo 를 작성합니다.
abstract  Transform newTransform (String  algorithm, TransformParameterSpec  params)
          지정한 알고리즘 URI 및 파라미터용으로 Transform 를 작성합니다.
abstract  Transform newTransform (String  algorithm, XMLStructure  params)
          지정한 알고리즘 URI 및 파라미터용으로 Transform 를 작성합니다.
abstract  XMLObject newXMLObject (List  content, String  id, String  mimeType, String  encoding)
          지정한 파라미터로부터 XMLObject 를 작성합니다.
abstract  XMLSignature newXMLSignature (SignedInfo  si, KeyInfo  ki)
          XMLSignature 를 작성해, 그 내용을 지정한 SignedInfo 객체 및 KeyInfo 객체로 초기화합니다.
abstract  XMLSignature newXMLSignature (SignedInfo  si, KeyInfo  ki, List  objects, String  id, String  signatureValueId)
          지정한 파라미터를 사용해,XMLSignature 를 작성합니다.
abstract  XMLSignature unmarshalXMLSignature (XMLStructure  xmlStructure)
          기구 고유의 XMLStructure 인스턴스로부터의 새로운 XMLSignature 인스턴스를 비정렬화합니다.
abstract  XMLSignature unmarshalXMLSignature (XMLValidateContext  context)
          기구 고유의 XMLValidateContext 인스턴스로부터의 새로운 XMLSignature 인스턴스를 비정렬화합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

XMLSignatureFactory

protected XMLSignatureFactory()
디폴트의 생성자 , 서브 클래스에 의한 호출용.

메소드의 상세

getInstance

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

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

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

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

getInstance

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

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

getInstance

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

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

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

getInstance

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

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

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

반환값:
새로운 XMLSignatureFactory
예외:
NoSuchMechanismException - 지정한 기구의 XMLSignatureFactory 구현을 지원하는 Provider 하지만 없는 경우
관련 항목:
Provider

getMechanismType

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

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

getProvider

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

반환값:
XMLSignatureFactory 의 프로바이더

newXMLSignature

public abstract XMLSignature  newXMLSignature(SignedInfo  si,
                                             KeyInfo  ki)
XMLSignature 를 작성해, 그 내용을 지정한 SignedInfo 객체 및 KeyInfo 객체로 초기화합니다.

파라미터:
si - 서명 정보
ki - 열쇠 정보. null 도 가능
반환값:
XMLSignature
예외:
NullPointerException - sinull 의 경우

newXMLSignature

public abstract XMLSignature  newXMLSignature(SignedInfo  si,
                                             KeyInfo  ki,
                                             List  objects,
                                             String  id,
                                             String  signatureValueId)
지정한 파라미터를 사용해,XMLSignature 를 작성합니다.

파라미터:
si - 서명 정보
ki - 열쇠 정보. null 도 가능
objects - XMLObject 의 리스트. 빈 상태(empty) 또는 null 도 가능
id - Id. null 도 가능
signatureValueId - SignatureValue Id. null 도 가능
반환값:
XMLSignature
예외:
NullPointerException - sinull 의 경우
ClassCastException - objects 중 한쪽이 형태 XMLObject 의 경우

newReference

public abstract Reference  newReference(String  uri,
                                       DigestMethod  dm)
지정된 URI 및 다이제스트 메소드로 Reference 를 작성합니다.

파라미터:
uri - 참조 URI. null 도 가능
dm - 다이제스트 메소드
반환값:
Reference
예외:
IllegalArgumentException - uri 가 RFC 2396 준거가 아닌 경우
NullPointerException - dmnull 의 경우

newReference

public abstract Reference  newReference(String  uri,
                                       DigestMethod  dm,
                                       List  transforms,
                                       String  type,
                                       String  id)
지정된 파라미터로 Reference 를 작성합니다.

파라미터:
uri - 참조 URI. null 도 가능
dm - 다이제스트 메소드
transforms - Transform 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
type - 참조형, URI 로서. null 도 가능
id - 참조 ID. null 도 가능
반환값:
Reference
예외:
ClassCastException - transforms 중 한쪽이 Transform 의 형태가 아닌 경우
IllegalArgumentException - uri 가 RFC 2396 준거가 아닌 경우
NullPointerException - dmnull 의 경우

newReference

public abstract Reference  newReference(String  uri,
                                       DigestMethod  dm,
                                       List  transforms,
                                       String  type,
                                       String  id,
                                       byte[] digestValue)
지정된 파라미터 및 미리 계산된 다이제스트치로 Reference 를 작성합니다.  

이 메소드는,Reference 의 다이제스트치가 이전에 계산되고 있었을 경우에 편리합니다. 예를 들어,OASIS-DSS (Digital Signature Services) 스펙을 참조해 주세요.

파라미터:
uri - 참조 URI. null 도 가능
dm - 다이제스트 메소드
transforms - Transform 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
type - 참조형, URI 로서. null 도 가능
id - 참조 ID. null 도 가능
digestValue - 다이제스트치. 이후의 변경으로부터 보호하기 위해서, 이 배열은 복제됩니다.
반환값:
Reference
예외:
ClassCastException - transforms 중 한쪽이 Transform 의 형태가 아닌 경우
IllegalArgumentException - uri 가 RFC 2396 준거가 아닌 경우
NullPointerException - dm 또는 digestValuenull 의 경우

newReference

public abstract Reference  newReference(String  uri,
                                       DigestMethod  dm,
                                       List  appliedTransforms,
                                       Data  result,
                                       List  transforms,
                                       String  type,
                                       String  id)
지정한 파라미터로 Reference 를 작성합니다.  

이 메소드는, 변환의 리스트가 벌써 Reference 에 대해서 적용되고 있는 경우에 편리합니다. 예를 들어,OASIS-DSS (Digital Signature Services) 스펙을 참조해 주세요.  

이 참조를 포함한 XMLSignature 가 생성되는 경우, 지정한 transforms (null 가 아닌 경우)는 지정한 result 에 적용됩니다. Reference 요소의 결과로서 생기는 Transforms 요소는,appliedTransformstransforms 를 연결한 것으로 설정됩니다.

파라미터:
uri - 참조 URI. null 도 가능
dm - 다이제스트 메소드
appliedTransforms - 벌써 적용된 Transform 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. 리스트에는, 적어도 1 개의 엔트리를 포함할 필요가 있습니다.
result - appliedTransforms 의 순서를 처리한 결과
transforms - 서명을 생성했을 때에 적용된다 Transform 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. null 또는 빈 상태(empty)도 가능
type - 참조형, URI 로서. null 도 가능
id - 참조 ID. null 도 가능
반환값:
Reference
예외:
ClassCastException - (어느 쪽인가의 리스트의) 변환이 모두 Transform 의 형태가 아닌 경우
IllegalArgumentException - uri 가 RFC 2396 준거는 아닌, 또는appliedTransforms 가 빈 상태(empty)의 경우
NullPointerException - dm, appliedTransforms 또는 resultnull 의 경우

newSignedInfo

public abstract SignedInfo  newSignedInfo(CanonicalizationMethod  cm,
                                         SignatureMethod  sm,
                                         List  references)
지정한 표준화 메소드 및 서명 메소드, 1 개(살) 이상의 참조의 리스트를 사용해 SignedInfo 를 작성합니다.

파라미터:
cm - 표준화 메소드
sm - 서명 메소드
references - 1 개(살) 이상 Reference 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다.
반환값:
SignedInfo
예외:
ClassCastException - 참조중 한쪽이 Reference 의 형태가 아닌 경우
IllegalArgumentException - references 가 빈 상태(empty)의 경우
NullPointerException - 임의의 파라미터가 null 의 경우

newSignedInfo

public abstract SignedInfo  newSignedInfo(CanonicalizationMethod  cm,
                                         SignatureMethod  sm,
                                         List  references,
                                         String  id)
지정한 파라미터로 SignedInfo 를 작성합니다.

파라미터:
cm - 표준화 메소드
sm - 서명 메소드
references - 1 개(살) 이상 Reference 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다.
id - Id. null 도 가능
반환값:
SignedInfo
예외:
ClassCastException - 참조중 한쪽이 Reference 의 형태가 아닌 경우
IllegalArgumentException - references 가 빈 상태(empty)의 경우
NullPointerException - cm,sm 또는 referencesnull 의 경우

newXMLObject

public abstract XMLObject  newXMLObject(List  content,
                                       String  id,
                                       String  mimeType,
                                       String  encoding)
지정한 파라미터로부터 XMLObject 를 작성합니다.

파라미터:
content - XMLStructure 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다. null 또는 공문자열도 가능
id - Id. null 도 가능
mimeType - MIME 타입. null 도 가능
encoding - 인코딩. null 도 가능
반환값:
XMLObject
예외:
ClassCastException - content 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newManifest

public abstract Manifest  newManifest(List  references)
지정된 Reference 의 리스트를 포함하는 Manifest 를 작성합니다.

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

newManifest

public abstract Manifest  newManifest(List  references,
                                     String  id)
지정한 Reference 및 생략 가능한 id 의 리스트를 포함하는 Manifest 를 작성합니다.

파라미터:
references - 1 개(살) 이상의 Reference 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다.
id - Id. null 도 가능
반환값:
Manifest
예외:
NullPointerException - referencesnull 의 경우
IllegalArgumentException - references 가 빈 상태(empty)의 경우
ClassCastException - references 에 형태 Reference 가 아닌 엔트리가 포함되는 경우

newSignatureProperty

public abstract SignatureProperty  newSignatureProperty(List  content,
                                                       String  target,
                                                       String  id)
지정한 XMLStructure , 타겟 URI 및 생략 가능한 id 의 리스트를 포함하는 SignatureProperty 를 작성합니다.

파라미터:
content - 1 개(살) 이상의 XMLStructure 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다.
target - 이 프로퍼티의 적용처의 Signature 의 타겟 URI
id - Id. null 도 가능
반환값:
SignatureProperty
예외:
NullPointerException - content 또는 targetnull 의 경우
IllegalArgumentException - content 가 빈 상태(empty)의 경우
ClassCastException - content 에 형태 XMLStructure 가 아닌 엔트리가 포함되는 경우

newSignatureProperties

public abstract SignatureProperties  newSignatureProperties(List  properties,
                                                           String  id)
지정한 SignatureProperty 및 생략 가능한 id 의 리스트를 포함하는 SignatureProperties 를 작성합니다.

파라미터:
properties - 1 개(살) 이상의 SignatureProperty 의 리스트. 이후의 변경으로부터 보호하기 위해서, 이 리스트는 방어적으로 카피됩니다.
id - Id. null 도 가능
반환값:
SignatureProperties
예외:
NullPointerException - propertiesnull 의 경우
IllegalArgumentException - properties 가 빈 상태(empty)의 경우
ClassCastException - properties 에 형태 SignatureProperty 가 아닌 엔트리가 포함되는 경우

newDigestMethod

public abstract DigestMethod  newDigestMethod(String  algorithm,
                                             DigestMethodParameterSpec  params)
                                      throws NoSuchAlgorithmException ,
                                             InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 DigestMethod 를 작성합니다.

파라미터:
algorithm - 다이제스트 알고리즘을 식별하는 URI
params - 알고리즘 고유의 다이제스트 파라미터. 빈 상태(empty) 또는 null 도 가능
반환값:
DigestMethod
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

newSignatureMethod

public abstract SignatureMethod  newSignatureMethod(String  algorithm,
                                                   SignatureMethodParameterSpec  params)
                                            throws NoSuchAlgorithmException ,
                                                   InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 SignatureMethod 를 작성합니다.

파라미터:
algorithm - 서명 알고리즘을 식별하는 URI
params - 알고리즘 고유의 서명 파라미터. 빈 상태(empty) 또는 null 도 가능
반환값:
SignatureMethod
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

newTransform

public abstract Transform  newTransform(String  algorithm,
                                       TransformParameterSpec  params)
                                throws NoSuchAlgorithmException ,
                                       InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 Transform 를 작성합니다.

파라미터:
algorithm - 변환 알고리즘을 식별하는 URI
params - 변환 고유의 서명 파라미터. 빈 상태(empty) 또는 null 도 가능
반환값:
Transform
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

newTransform

public abstract Transform  newTransform(String  algorithm,
                                       XMLStructure  params)
                                throws NoSuchAlgorithmException ,
                                       InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 Transform 를 작성합니다. 파라미터는 기구 고유의 XMLStructure 으로서 지정됩니다 (례: DOMStructure ). 이 메소드는, 파라미터가 XML 형식이며 파라미터 지정을 위한 표준 클래스가 없는 경우에 편리합니다.

파라미터:
algorithm - 변환 알고리즘을 식별하는 URI
params - 파라미터의 비정렬화를 개시한다 기구 고유의 XML 구조. 필수가 아닌 또는 생략 가능한 경우는 null 도 가능
반환값:
Transform
예외:
ClassCastException - params 의 형태가 이 XMLSignatureFactory 에는 올바르지 않은 경우
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

newCanonicalizationMethod

public abstract CanonicalizationMethod  newCanonicalizationMethod(String  algorithm,
                                                                 C14NMethodParameterSpec  params)
                                                          throws NoSuchAlgorithmException ,
                                                                 InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 CanonicalizationMethod 를 작성합니다.

파라미터:
algorithm - 표준화 알고리즘을 식별하는 URI
params - 알고리즘 고유의 표준화 파라미터. 빈 상태(empty) 또는 null 도 가능
반환값:
CanonicalizationMethod
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

newCanonicalizationMethod

public abstract CanonicalizationMethod  newCanonicalizationMethod(String  algorithm,
                                                                 XMLStructure  params)
                                                          throws NoSuchAlgorithmException ,
                                                                 InvalidAlgorithmParameterException 
지정한 알고리즘 URI 및 파라미터용으로 CanonicalizationMethod 를 작성합니다. 파라미터는 기구 고유의 XMLStructure 으로서 지정됩니다 (례: DOMStructure ). 이 메소드는, 파라미터가 XML 형식이며 파라미터 지정을 위한 표준 클래스가 없는 경우에 편리합니다.

파라미터:
algorithm - 표준화 알고리즘을 식별하는 URI
params - 파라미터의 비정렬화를 개시한다 기구 고유의 XML 구조. 필수가 아닌 또는 생략 가능한 경우는 null 도 가능
반환값:
CanonicalizationMethod
예외:
ClassCastException - params 의 형태가 이 XMLSignatureFactory 에는 올바르지 않은 경우
InvalidAlgorithmParameterException - 지정된 파라미터가 요구된 알고리즘에 대해서 올바르지 않은 경우
NoSuchAlgorithmException - 지정된 알고리즘의 구현이 발견되지 않는 경우
NullPointerException - algorithmnull 의 경우

getKeyInfoFactory

public final KeyInfoFactory  getKeyInfoFactory()
KeyInfo 객체를 작성하는 KeyInfoFactory 를 돌려줍니다. 반환된 KeyInfoFactory 는, 이 XMLSignatureFactory 와 같은 기구형 및 프로바이더를 가집니다.

반환값:
KeyInfoFactory
예외:
NoSuchMechanismException - 같은 기구형 및 프로바이더를 가진다 KeyFactory 구현이 이용 가능하지 않은 경우

unmarshalXMLSignature

public abstract XMLSignature  unmarshalXMLSignature(XMLValidateContext  context)
                                            throws MarshalException 
기구 고유의 XMLValidateContext 인스턴스로부터의 새로운 XMLSignature 인스턴스를 비정렬화합니다.

파라미터:
context - 서명의 비정렬화를 개시하는 기구 고유의 문맥
반환값:
XMLSignature
예외:
NullPointerException - contextnull 의 경우
ClassCastException - context 의 형태가 이 팩토리에는 올바르지 않은 경우
MarshalException - 비정렬화중에 회복 불가능한 예외가 발생하는 경우

unmarshalXMLSignature

public abstract XMLSignature  unmarshalXMLSignature(XMLStructure  xmlStructure)
                                            throws MarshalException 
기구 고유의 XMLStructure 인스턴스로부터의 새로운 XMLSignature 인스턴스를 비정렬화합니다. 이 메소드는,XMLSignature 를 비정렬화하는 것만으로 검증하지 않는 경우에 편리합니다.

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

isFeatureSupported

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

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

getURIDereferencer

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

반환값:
디폴트의 URIDereferencer 에의 참조 null 는 되지 않는다

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 도 참조해 주세요.