JavaTM Platform
Standard Ed. 6

java.security
클래스 CodeSource

java.lang.Object 
  상위를 확장 java.security.CodeSource
모든 구현된 인터페이스:
Serializable


public class CodeSource
extends Object
implements Serializable

이 클래스는 코드 베이스의 개념을 확장해, 위치 (URL)에 가세해, 그 위치로부터 발생하는 서명 첨부 코드의 검증에 사용한 증명서 체인도 캡슐화합니다.

관련 항목:
직렬화 된 형식

생성자 의 개요
CodeSource (URL  url, Certificate [] certs)
          CodeSource 를 구축해, 지정된 위치와 증명서 세트에 관련짓습니다.
CodeSource (URL  url, CodeSigner [] signers)
          CodeSource 를 구축해, 그것이 지정된 위치와 코드 서명자 세트에 관련짓습니다.
 
메소드의 개요
 boolean equals (Object  obj)
          지정된 객체와 현재의 객체가 등가일지 어떨지를 테스트합니다.
 Certificate [] getCertificates ()
          이 CodeSource 에 관련한 증명서를 돌려줍니다.
 CodeSigner [] getCodeSigners ()
          이 CodeSource 에 관련한 코드 서명자를 돌려줍니다.
 URL getLocation ()
          이 CodeSource 에 관련한 위치를 돌려줍니다.
 int hashCode ()
          이 객체의 해시 코드값를 돌려줍니다.
 boolean implies (CodeSource  codesource)
          이 CodeSource 객체가 지정된 CodeSource 를 「포함」하고 있는 경우에 true 를 돌려줍니다.
 String toString ()
          이 CodeSource 를 설명하는 캐릭터 라인을 돌려주는 것으로, 그 URL 와 증명서를 나타냅니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

CodeSource

public CodeSource(URL  url,
                  Certificate [] certs)
CodeSource 를 구축해, 지정된 위치와 증명서 세트에 관련짓습니다.

파라미터:
url - 위치 (URL)
certs - 증명서 null 도 지정할 수 있다. 이 배열의 내용은, 후속의 변경에 영향을 받지 않게 카피된다

CodeSource

public CodeSource(URL  url,
                  CodeSigner [] signers)
CodeSource 를 구축해, 그것이 지정된 위치와 코드 서명자 세트에 관련짓습니다.

파라미터:
url - 위치 (URL)
signers - 코드 서명자. null 도 지정할 수 있다. 이 배열의 내용은, 후속의 변경에 영향을 받지 않게 카피되는
도입된 버젼:
1.5
메소드의 상세

hashCode

public int hashCode()
이 객체의 해시 코드값를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
지정된 객체와 현재의 객체가 등가일지 어떨지를 테스트합니다. 2 개의 CodeSource 객체는, 그러한 위치가 같은 값이며, 한편 서명자의 증명서 체인이 같은 값인 경우에 동등이라고 보여집니다. 다만, 증명서 체인의 순서는 같지 않아도 괜찮습니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 이 객체와 동일한지 어떤지가 판정되는 객체
반환값:
객체가 동일하다고 보여졌을 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

getLocation

public final URL  getLocation()
이 CodeSource 에 관련한 위치를 돌려줍니다.

반환값:
위치 (URL)

getCertificates

public final Certificate [] getCertificates()
이 CodeSource 에 관련한 증명서를 돌려줍니다.  

이 CodeSource 객체가 CodeSource(URL url, CodeSigner[] signers) 생성자 을 사용해 작성된 것인 경우, 그 증명서 체인이 추출 및 사용되어 Certificate 객체의 배열이 작성됩니다. 각 서명자 증명서의 후에는 그것을 지원하는 증명서 체인이 계속됩니다 (빈 상태(empty)일 가능성도 있다). 각 서명자 증명서와 그것을 지원하는 증명서 체인은, 하위에서 상위 (즉 서명자 증명서가 최초로 (루트) 증명서 발행국이 최후)의 순서에 줄섭니다.

반환값:
증명서의 배열의 카피. 증명서가 1 개나 존재하지 않는 경우는 null

getCodeSigners

public final CodeSigner [] getCodeSigners()
이 CodeSource 에 관련한 코드 서명자를 돌려줍니다.  

이 CodeSource 객체가 CodeSource(URL url, Certificate[] certs) 생성자 을 사용해 작성된 것인 경우, 그 증명서 체인이 추출 및 사용되어 CodeSigner 객체의 배열이 작성됩니다. 다만, 검사되는 것은 X. 509 증명서 뿐이어서, 그 외의 종류의 증명서는 모두 무시됩니다.

반환값:
코드 서명자의 배열의 카피. 코드 서명자가 1 개나 존재하지 않는 경우는 null
도입된 버젼:
1.5

implies

public boolean implies(CodeSource  codesource)
이 CodeSource 객체가 지정된 CodeSource 를 「포함」하고 있는 경우에 true 를 돌려줍니다.  

구체적으로는, 이 메소드는 다음의 항목을 차례로 검사합니다. 검사의 어떤 것인가가 실패하면(자) false 를 돌려주어, 모든 검사가 성공하면(자) true 를 돌려줍니다.

  1. codesource 가 null 는 아니다
  2. 이 객체의 증명서가 null 가 아닌 경우에, 이 객체의 증명서가 모두 codesource 의 증명서에 있다
  3. 이 객체의 위치 (getLocation())가 null 가 아닌 경우에, 이 객체의 위치와 codesource 의 위치에 도착해 다음의 항목을 검사한다

    1. codesource 의 위치가 null 는 아니다
    2. 이 객체의 위치와 codesource 의 위치가 같은 경우는 true 를 돌려준다
    3. 이 객체의 프로토콜 (getLocation(). getProtocol())는 codesource 의 프로토콜과 같다
    4. 이 객체의 호스트 (getLocation(). getHost())가 null 가 아닌 경우에는, 이 객체의 호스트로 구축한 SocketPermission 는,codesource 의 호스트로 생성한 SocketPermission 를 포함 하고 있다
    5. 이 객체의 포트 (getLocation(). getPort())가 -1 이외의 경우 (즉, 포트가 지정되고 있는 경우)에, 그 포트는 codesource 의 포트와 같다
    6. 이 객체의 파일 (getLocation(). getFile())가 codesource 의 파일과 다른 경우에는, 다음의 항목을 검사한다. 이 객체의 파일이 「/-」으로 끝나 있는 경우에는,codesource 의 파일은 이 객체의 파일로 시작될 필요가 있다 (말미의 「-」을 제외한다). 이 객체의 파일이 「/*」으로 끝나 있는 경우에는,codesource 의 파일은 이 객체의 파일로 시작될 필요가 있어, 또, 이 밖에 「/」의 separator가 있어서는 안 된다. 이 객체의 파일이 「/」으로 끝나지 않은 경우에는, 이 객체의 파일의 말미에 「/」을 추가하는 것으로써,codesource 의 파일을 이 객체의 파일에 일치시킬 필요가 있다
    7. 이 객체의 참조 (getLocation(). getRef())가 null 가 아닌 경우에, 그 참조는 codesource 의 참조와 같다

예를 들어, 다음의 위치에 있는, 증명서가 null 의 코드 소스 객체는 모두, 위치가 「http://java.sun.com/classes/foo.jar」로, 증명서가 null 의 코드 소스를 포함 하고 있습니다.

http:
http://*.sun.com/classes/*
http://java.sun.com/classes/-
http://java.sun.com/classes/foo.jar
 
CodeSource 의 위치가 null 로, 증명서 체인이 null 의 경우는, 다른 각 CodeSource 를 포함 하고 있습니다.

파라미터:
codesource - 비교 대상의 CodeSource
반환값:
지정된 코드 소스가 이 코드 소스에 의해 포함 되고 있는 경우는 true, 그렇지 않은 경우는 false

toString

public String  toString()
이 CodeSource 를 설명하는 캐릭터 라인을 돌려주는 것으로, 그 URL 와 증명서를 나타냅니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 CodeSource 에 대한 정보

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