JavaTM Platform
Standard Ed. 6

java.security
클래스 Security

java.lang.Object 
  상위를 확장 java.security.Security


public final class Security
extends Object

이 클래스는, 모든 시큐리티 프로퍼티, 및 공통의 시큐리티 메소드를 집중관리합니다. 그 주된 사용 목적의 1 개에 프로바이더의 관리가 있습니다.


메소드의 개요
static int addProvider (Provider  provider)
          프로바이더를 가능한 다음의 위치에 추가합니다.
static String getAlgorithmProperty (String  algName, String  propName)
          추천 되고 있지 않습니다.  이 메소드는, SUN 암호화 서비스 프로바이더의 마스터 파일내에 있는 소유 프로퍼티의 값을 돌려주기 위해서(때문에) 사용됩니다. 이것은, 알고리즘 고유의 파라미터의 구문 분석 방법을 결정하기 위한 처리입니다. 이 메소드 대신에, 새로운 프로바이더를 사용하는, 알고리즘에 의존하지 않는 AlgorithmParametersKeyFactory 엔진 클래스 (J2SE 1.2 플랫폼보다 도입)를 사용해 주세요.
static Set <String > getAlgorithms (String  serviceName)
          지정한 Java 암호화 서비스로 사용 가능한 알고리즘이나 형태의 이름 (Signature, MessageDigest, Cipher, Mac, KeyStore 등)을 포함한 String 의 Set 를 돌려줍니다.
static String getProperty (String  key)
          시큐리티 프로퍼티치를 가져옵니다.
static Provider getProvider (String  name)
          지정된 이름으로 인스톨 되고 있는 프로바이더를 돌려줍니다.
static Provider [] getProviders ()
          인스톨 떠날 수 있어 모든 프로바이더의 배열을 돌려줍니다.
static Provider [] getProviders (Map <String ,String > filter)
          지정된 선택 기준을 채우는 모든 인스톨 된 프로바이더를 포함한 배열을 돌려줍니다.
static Provider [] getProviders (String  filter)
          지정된 선택 기준을 채우는 모든 인스톨 된 프로바이더를 포함한 배열을 돌려줍니다.
static int insertProviderAt (Provider  provider, int position)
          지정된 위치에 신규 프로바이더를 추가합니다.
static void removeProvider (String  name)
          지정된 이름의 프로바이더를 삭제합니다.
static void setProperty (String  key, String  datum)
          시큐리티 프로퍼티의 값을 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

getAlgorithmProperty

@Deprecated 
public static String  getAlgorithmProperty(String  algName,
                                                     String  propName)
추천 되고 있지 않습니다.  이 메소드는, SUN 암호화 서비스 프로바이더의 마스터 파일내에 있는 소유 프로퍼티의 값을 돌려주기 위해서(때문에) 사용됩니다. 이것은, 알고리즘 고유의 파라미터의 구문 분석 방법을 결정하기 위한 처리입니다. 이 메소드 대신에, 새로운 프로바이더를 사용하는, 알고리즘에 의존하지 않는 AlgorithmParametersKeyFactory 엔진 클래스 (J2SE 1.2 플랫폼보다 도입)를 사용해 주세요.

알고리즘에 대한 지정된 프로퍼티을 가져옵니다. 알고리즘의 이름은 표준명으로 할 필요가 있습니다. 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조해 주세요. 용도의 1 개에, 전용의 알고리즘 파서에 의한 사용이 있습니다. 이 알고리즘 파서는, (Key 퍼서가 실시하는 것과 거의와 같이 ) 그것이 인식하는 알고리즘에 클래스 매핑 합니다.

파라미터:
algName - 알고리즘명
propName - 취득하는 프로퍼티의 이름
반환값:
지정된 프로퍼티의 값

insertProviderAt

public static int insertProviderAt(Provider  provider,
                                   int position)
지정된 위치에 신규 프로바이더를 추가합니다. 위치는 우선순서가 되어 있어, 요구된 알고리즘에 대해서 프로바이더가 그 순서로 검색됩니다. 위치는 1 으로부터 시작되어, 1 이 최우선으로 다음에 2, 3 ...(와)과 계속됩니다.

어느 프로바이더가 요구된 장소에 인스톨 되었을 경우는, 그것까지 그 자리소에 있던 프로바이더, 및 position 보다 나머지의 위치의 모든 프로바이더의 순위는, 1 개(살) 나중에 되어, 인스톨 된 프로바이더 일람의 최후미로 향해 1 개 이동합니다.

프로바이더는, 인스톨 끝난 경우에는 추가할 수 없습니다.

시큐리티 매니저가 존재하는 경우, 우선 시큐리티 매니저의 checkSecurityAccess 메소드가 캐릭터 라인 "insertProvider. "+provider.getName() 를 지정해 불려 가 새로운 프로바이더를 추가해도 괜찮은지 어떤지가 확인됩니다. checkSecurityAccess 의 디폴트 구현이 사용되는 경우 (즉, 이 메소드 오버라이드(override)되어 있지 않은 경우), 이 메소드의 호출에 의해, 시큐리티 매니저의 checkPermission 메소드가 SecurityPermission("insertProvider. "+provider.getName()) 액세스권을 지정해 불려 갑니다.

파라미터:
provider - 추가되는 프로바이더
position - 호출측이 이 프로바이더에 요망하는 우선 순위
반환값:
프로바이더가 추가된 실제의 우선 순위. 인스톨이 끝난 상태로 추가할 수 없는 경우는 -1
예외:
NullPointerException - provider 가 null 의 경우
SecurityException - 시큐리티 매니저가 존재해, 시큐리티 매니저의 SecurityManager.checkSecurityAccess(java.lang.String) 메소드가 새로운 프로바이더의 추가를 허가하지 않는 경우
관련 항목:
getProvider(java.lang.String) , removeProvider(java.lang.String) , SecurityPermission

addProvider

public static int addProvider(Provider  provider)
프로바이더를 가능한 다음의 위치에 추가합니다.

시큐리티 매니저가 존재하는 경우, 우선 시큐리티 매니저의 checkSecurityAccess 메소드가 캐릭터 라인 "insertProvider. "+provider.getName() 를 지정해 불려 가 새로운 프로바이더를 추가해도 괜찮은지 어떤지가 확인됩니다. checkSecurityAccess 의 디폴트 구현이 사용되는 경우 (즉, 이 메소드 오버라이드(override)되어 있지 않은 경우), 이 메소드의 호출에 의해, 시큐리티 매니저의 checkPermission 메소드가 SecurityPermission("insertProvider. "+provider.getName()) 액세스권을 지정해 불려 갑니다.

파라미터:
provider - 추가되는 프로바이더
반환값:
프로바이더가 추가된 실제의 우선 순위. 인스톨이 끝난 상태로 추가할 수 없는 경우는 -1
예외:
NullPointerException - provider 가 null 의 경우
SecurityException - 시큐리티 매니저가 존재해, 시큐리티 매니저의 SecurityManager.checkSecurityAccess(java.lang.String) 메소드가 새로운 프로바이더의 추가를 허가하지 않는 경우
관련 항목:
getProvider(java.lang.String) , removeProvider(java.lang.String) , SecurityPermission

removeProvider

public static void removeProvider(String  name)
지정된 이름의 프로바이더를 삭제합니다.

지정된 프로바이더가 삭제되면(자), 그 프로바이더보다 나머지의 위치에 있는 모든 프로바이더의 위치가 1 개전이 되어, 인스톨 된 프로바이더 일람의 선두로 향해 1 개 이동합니다.

이 메소드는, 프로바이더가 인스톨되어 있지 않은 경우, 혹은 name 가 null 의 경우, 처리를 아무것도 실시하지 않고 복귀합니다.

시큐리티 매니저가 존재하는 경우, 우선 시큐리티 매니저의 checkSecurityAccess 메소드가 캐릭터 라인 "removeProvider. "+name 를 지정해 불려 가 프로바이더를 삭제해도 괜찮은지 어떤지가 확인됩니다. checkSecurityAccess 의 디폴트 구현이 사용되는 경우 (즉, 이 메소드가 오버라이드(override)되어 있지 않은 경우), 이 메소드의 호출에 의해, 시큐리티 매니저의 checkPermission 메소드가 SecurityPermission("removeProvider. "+name) 액세스권을 지정해 불려 갑니다.

파라미터:
name - 삭제되는 프로바이더의 이름
예외:
SecurityException - 시큐리티 매니저가 존재해, 시큐리티 매니저의 SecurityManager.checkSecurityAccess(java.lang.String) 메소드가 이 프로바이더를 삭제하는 액세스를 허가하지 않는 경우
관련 항목:
getProvider(java.lang.String) , addProvider(java.security.Provider)

getProviders

public static Provider [] getProviders()
인스톨 떠날 수 있어 모든 프로바이더의 배열을 돌려줍니다. 배열내에서의 프로바이더는 우선 순위의 순서가 되어 있습니다.

반환값:
인스톨 떠날 수 있어 모든 프로바이더의 배열

getProvider

public static Provider  getProvider(String  name)
지정된 이름으로 인스톨 되고 있는 프로바이더를 돌려줍니다. 지정된 이름의 프로바이더가 인스톨되어 있지 않은 경우, 혹은 name 가 null 의 경우는 null 를 돌려줍니다.

파라미터:
name - 취득하는 프로퍼티의 이름
반환값:
지정된 이름의 프로바이더
관련 항목:
removeProvider(java.lang.String) , addProvider(java.security.Provider)

getProviders

public static Provider [] getProviders(String  filter)
지정된 선택 기준을 채우는 모든 인스톨 된 프로바이더를 포함한 배열을 돌려줍니다. 이러한 프로바이더가 존재하지 않는 경우는, null. 반환된 프로바이더의 순서는「우선순서」라고 됩니다.

암호화 서비스는, 항상 특정의 알고리즘 또는 타입에 관련지을 수 있고 있습니다. 예를 들어, 디지털 서명 서비스는 항상 특정의 알고리즘 (DSA 등)에, CertificateFactory 서비스는 항상 특정의 증명서 타입 (X. 509 등)에 각각 관련지을 수 있고 있습니다.

다음의 2 종류의 포맷의 어느 쪽인지로 선택 기준을 지정할 필요가 있습니다.

암호화 서비스의 표준명, 알고리즘의 표준명, 속성의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조해 주세요.

파라미터:
filter - 프로바이더의 선택 기준. 필터는 대문자와 소문자를 구별한다
반환값:
선택 기준을 채우는 인스톨 끝난 모든 프로바이더. 이러한 프로바이더가 없는 경우는, null
예외:
InvalidParameterException - 필터가 필요한 형식 이외의 경우
NullPointerException - filter 가 null 의 경우
도입된 버젼:
1.3
관련 항목:
getProviders(java.util.Map)

getProviders

public static Provider [] getProviders(Map <String ,String > filter)
지정된 선택 기준을 채우는 모든 인스톨 된 프로바이더를 포함한 배열을 돌려줍니다. 이러한 프로바이더가 존재하지 않는 경우는, null. 반환된 프로바이더의 순서는「우선순서」라고 됩니다.

선택 기준은 맵으로 표현됩니다. 각 맵 엔트리는 선택 기준입니다. 모든 선택 기준을 프로바이더가 채우고 있는 경우, 프로바이더는 선택됩니다. 이 맵에서는, 어느 엔트리의 열쇠도 다음의 2 종류의 형식의 어딘가에 됩니다.

암호화 서비스의 표준명, 알고리즘의 표준명, 속성의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조해 주세요.

파라미터:
filter - 프로바이더의 선택 기준. 필터는 대문자와 소문자를 구별한다
반환값:
선택 기준을 채우는 인스톨 끝난 모든 프로바이더. 이러한 프로바이더가 없는 경우는, null
예외:
InvalidParameterException - 필터가 필요한 형식 이외의 경우
NullPointerException - filter 가 null 의 경우
도입된 버젼:
1.3
관련 항목:
getProviders(java.lang.String)

getProperty

public static String  getProperty(String  key)
시큐리티 프로퍼티치를 가져옵니다.

시큐리티 매니저가 존재하는 경우, 시큐리티 매니저의 checkPermission 메소드가 java.security.SecurityPermission("getProperty. "+key) 액세스권을 인수로서 지정해 불려 가 지정된 시큐리티 프로퍼티치를 취득해도 괜찮은지 어떤지를 확인합니다.

파라미터:
key - 취득하는 프로퍼티의 키
반환값:
키에 대응하는 시큐리티 프로퍼티의 값
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkPermission(java.security.Permission) 메소드가 지정된 시큐리티 프로퍼티치의 취득을 허가하지 않는 경우
NullPointerException - key 가 null 의 경우
관련 항목:
setProperty(java.lang.String, java.lang.String) , SecurityPermission

setProperty

public static void setProperty(String  key,
                               String  datum)
시큐리티 프로퍼티의 값을 설정합니다.

시큐리티 매니저가 존재하는 경우, 시큐리티 매니저의 checkPermission 메소드가 java.security.SecurityPermission("getProperty. "+key) 액세스권을 인수로서 지정해 불려 가 지정된 시큐리티 프로퍼티치를 취득해도 괜찮은지 어떤지를 확인합니다.

파라미터:
key - 설정하는 프로퍼티의 이름.
datum - 설정되는 프로퍼티의 값
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkPermission(java.security.Permission) 메소드가 지정된 시큐리티 프로퍼티치의 설정을 허가하지 않는 경우
NullPointerException - key 또는 datum 가 null 의 경우
관련 항목:
getProperty(java.lang.String) , SecurityPermission

getAlgorithms

public static Set <String > getAlgorithms(String  serviceName)
지정한 Java 암호화 서비스로 사용 가능한 알고리즘이나 형태의 이름 (Signature, MessageDigest, Cipher, Mac, KeyStore 등)을 포함한 String 의 Set 를 돌려줍니다. 지정한 서비스로 지원되는 프로바이더가 없는 경우, 혹은 serviceName 가 null 인 경우는, 빈 상태(empty)의 Set 가 돌려주어집니다. Java 암호화 서비스의 일람에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」 를 참조해 주세요. 주:반환되는 세트는 불변입니다.

파라미터:
serviceName - Java 암호화 서비스의 이름 (Signature, MessageDigest, Cipher, Mac, KeyStore 등). 주:이 파라미터는 대문자와 소문자를 구별한다
반환값:
지정된 Java 암호화 서비스로 사용 가능한 알고리즘이나 형태의 이름을 포함한 String 의 Set. 지정된 서비스로 지원되는 프로바이더가 없는 경우는, 빈 상태(empty)세트가 반환되는
도입된 버젼:
1.4

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