JavaTM Platform
Standard Ed. 6

javax.net.ssl
클래스 KeyManagerFactory

java.lang.Object 
  상위를 확장 javax.net.ssl.KeyManagerFactory


public class KeyManagerFactory
extends Object

이 클래스는, 열쇠 데이터의 소스에 근거해, 열쇠 매니저의 팩토리로서 기능합니다. 각 열쇠 매니저는, 시큐어 소켓이 사용하는 열쇠 데이터를 관리합니다. 열쇠 데이터는, 키스토어, 또는 프로바이더 고유의 소스, 혹은 그 양쪽 모두에 근거합니다.

도입된 버젼:
1.4
관련 항목:
KeyManager

생성자 의 개요
protected KeyManagerFactory (KeyManagerFactorySpi  factorySpi, Provider  provider, String  algorithm)
          KeyManagerFactory 객체를 생성합니다.
 
메소드의 개요
 String getAlgorithm ()
          이 KeyManagerFactory 객체의 알고리즘명을 돌려줍니다.
static String getDefaultAlgorithm ()
          디폴트의 KeyManagerFactory 알고리즘명을 가져옵니다.
static KeyManagerFactory getInstance (String  algorithm)
          열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.
static KeyManagerFactory getInstance (String  algorithm, Provider  provider)
          열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.
static KeyManagerFactory getInstance (String  algorithm, String  provider)
          열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.
 KeyManager [] getKeyManagers ()
          열쇠 데이터의 종류 마다 1 개의 열쇠 매니저를 돌려줍니다.
 Provider getProvider ()
          이 KeyManagerFactory 객체의 프로바이더를 돌려줍니다.
 void init (KeyStore  ks, char[] password)
          열쇠 데이터의 소스를 사용해, 이 팩토리를 초기화합니다.
 void init (ManagerFactoryParameters  spec)
          프로바이더 고유의 열쇠 데이터의 소스를 사용해, 이 팩토리를 초기화합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

KeyManagerFactory

protected KeyManagerFactory(KeyManagerFactorySpi  factorySpi,
                            Provider  provider,
                            String  algorithm)
KeyManagerFactory 객체를 생성합니다.

파라미터:
factorySpi - delegate
provider - 프로바이더
algorithm - 알고리즘
메소드의 상세

getDefaultAlgorithm

public static final String  getDefaultAlgorithm()
디폴트의 KeyManagerFactory 알고리즘명을 가져옵니다.

디폴트의 알고리즘은, ssl.KeyManagerFactory.algorithm 시큐리티 프로퍼티의 값을 목적의 알고리즘명으로 설정하는 것에 의해, 실행시로 변경할 수 있습니다. 알고리즘명은, Java 시큐리티 프로퍼티 파일로 설정하는지,Security.setProperty(java.lang.String, java.lang.String) 를 호출하는 것에 의해 설정합니다.

반환값:
Java 시큐리티 프로퍼티 파일로 지정되고 있는 디폴트의 알고리즘명. 프로퍼티이 존재하지 않는 경우는, 구현 고유의 디폴트.
관련 항목:
java.security.Security#setProperty(java.lang.String,

getAlgorithm

public final String  getAlgorithm()
KeyManagerFactory 객체의 알고리즘명을 돌려줍니다.

KeyManagerFactory 객체를 생성한 getInstance 호출로 지정된 알고리즘명이 돌려주어집니다.

반환값:
KeyManagerFactory 객체의 알고리즘명.

getInstance

public static final KeyManagerFactory  getInstance(String  algorithm)
                                           throws NoSuchAlgorithmException 
열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.

이 메소드는, 최우선의 프로바이더로부터 순서에, 등록을 마친 시큐리티 프로바이더의 리스트를 횡단(traverse) 합니다. 지정된 알고리즘을 지원하는 최초의 프로바이더의 KeyManagerFactorySpi 구현을 캡슐화하는 새로운 KeyManagerFactory 객체가 돌려주어집니다.

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

파라미터:
algorithm - 요구된 알고리즘의 표준명. 표준의 알고리즘명에 대해서는, 「Java Secure Socket Extension 레퍼런스 가이드」의 부록 A 를 참조.
반환값:
새로운 KeyManagerFactory 객체.
예외:
NoSuchAlgorithmException - 지정한 알고리즘의 KeyManagerFactorySpi 의 구현을 지원하는 프로바이더가 존재하지 않는 경우.
관련 항목:
Provider

getInstance

public static final KeyManagerFactory  getInstance(String  algorithm,
                                                  String  provider)
                                           throws NoSuchAlgorithmException ,
                                                  NoSuchProviderException 
열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.

지정된 프로바이더로부터의 KeyManagerFactorySpi 의 구현을 캡슐화하는 새로운 KeyManagerFactory 객체가 돌려주어집니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.

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

파라미터:
algorithm - 요구된 알고리즘의 표준명 표준의 알고리즘명에 대해서는, 「Java Secure Socket Extension 레퍼런스 가이드」의 부록 A 를 참조.
provider - 프로바이더명
반환값:
새로운 KeyManagerFactory 객체.
예외:
NoSuchAlgorithmException - 지정된 프로바이더에, 지정된 알고리즘의 KeyManagerFactorySpi 의 구현이 없는 경우.
NoSuchProviderException - 지정한 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우.
IllegalArgumentException - 프로바이더의 이름이 null 나 빈 상태(empty)의 경우.
관련 항목:
Provider

getInstance

public static final KeyManagerFactory  getInstance(String  algorithm,
                                                  Provider  provider)
                                           throws NoSuchAlgorithmException 
열쇠 매니저의 팩토리로서 기능하는 KeyManagerFactory 객체를 돌려줍니다.

지정된 Provider 객체로부터의 KeyManagerFactorySpi 의 구현을 캡슐화하는 새로운 KeyManagerFactory 객체가 돌려주어집니다. 지정한 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.

파라미터:
algorithm - 요구된 알고리즘의 표준명 표준의 알고리즘명에 대해서는, 「Java Secure Socket Extension 레퍼런스 가이드」의 부록 A 를 참조.
provider - 프로바이더의 인스턴스.
반환값:
새로운 KeyManagerFactory 객체.
예외:
NoSuchAlgorithmException - 지정된 Provider 객체에, 지정된 알고리즘의 KeyManagerFactorySpi 의 구현이 없는 경우
IllegalArgumentException - 프로바이더가 null 의 경우.
관련 항목:
Provider

getProvider

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

반환값:
KeyManagerFactory 객체의 프로바이더

init

public final void init(KeyStore  ks,
                       char[] password)
                throws KeyStoreException ,
                       NoSuchAlgorithmException ,
                       UnrecoverableKeyException 
열쇠 데이터의 소스를 사용해, 이 팩토리를 초기화합니다.  

많은 경우, 프로바이더는 키스토어를 사용해, 시큐어 소켓의 협상중에 사용하는 열쇠 데이터를 가져옵니다. 키스토어는 일반적으로 패스워드로 보호되고 있습니다.  

보다 유연하게 초기화를 실시하려면 ,init(ManagerFactoryParameters) 를 참조해 주세요.  

파라미터:
ks - 키스토어 또는 null
password - 키스토어의 열쇠를 복원하기 위한 패스워드
예외:
KeyStoreException - 이 처리가 실패했을 경우
NoSuchAlgorithmException - 지정된 프로바이더로 지정된 알고리즘이 없는 경우.
UnrecoverableKeyException - 지정된 패스워드가 잘못되어 있는 경우 등, 열쇠를 복원할 수 없는 경우.

init

public final void init(ManagerFactoryParameters  spec)
                throws InvalidAlgorithmParameterException 
프로바이더 고유의 열쇠 데이터의 소스를 사용해, 이 팩토리를 초기화합니다.  

일부의 프로바이더에서는, 키스토어와 패스워드 이외에, 초기화 파라미터를 필요로 하는 일이 있습니다. 특정의 프로바이더의 이용자는, 프로바이더에 의한 정의에 따라, 적절한 ManagerFactoryParameters 의 구현을 건네줄 필요가 있습니다. 그 후, 프로바이더는 ManagerFactoryParameters 구현의 특정의 메소드를 호출해, 필요한 정보를 취득할 수 있습니다.

파라미터:
spec - 프로바이더 고유의 파라미터 스펙의 구현
예외:
InvalidAlgorithmParameterException - 에러가 발생했을 경우

getKeyManagers

public final KeyManager [] getKeyManagers()
열쇠 데이터의 종류 마다 1 개의 열쇠 매니저를 돌려줍니다.

반환값:
열쇠 매니저
예외:
IllegalStateException - KeyManagerFactory 가 초기화되어 있지 않은 경우

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