X500Principal — X.500 주체

X500Principal — X.500 주체

X500Principal은 X.500 Principal을 나타내는 클래스예요. X500Principal"CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US" 같은 distinguished name으로 표현돼요.

출처: Java API Reference

본문

public final class X500Principal extends Object implements Principal, Serializable

어떻게 표현하나요?

이 클래스는 distinguished name의 문자열 표현을 사용하거나, ASN.1 DER 인코딩된 바이트 표현을 사용해 인스턴스화할 수 있어요. distinguished name 문자열 표현의 현재 사양은 RFC 2253(Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names)에 정의돼 있어요. 이 클래스는 RFC 2253과 RFC 1779(A String Representation of Distinguished Names)의 문자열 형식을 모두 받아들이고, RFC 5280(Internet X.509 Public Key Infrastructure Certificate and CRL Profile)에 OID가 정의된 속성 타입 키워드도 인식해요. 이 X500Principal의 문자열 표현은 getName 메서드를 호출해 얻을 수 있어요.

X509CertificategetSubjectX500PrincipalgetIssuerX500Principal 메서드는 인증서의 issuer와 subject 필드를 나타내는 X500Principal을 반환한다는 점을 참고해요.

필드 (이름 형식)

  • static final String CANONICAL — Distinguished Names의 표준(Canonical) 문자열 형식
  • static final String RFC1779 — RFC 1779 문자열 형식
  • static final String RFC2253 — RFC 2253 문자열 형식

생성자

  • X500Principal(byte[] name) — ASN.1 DER 인코딩 형태의 distinguished name으로 X500Principal을 생성해요.
  • X500Principal(InputStream is) — distinguished name을 ASN.1 DER 인코딩 형태로 담고 있는 InputStream으로 생성해요.
  • X500Principal(String name) — X.500 distinguished name의 문자열 표현(예: "CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US")으로 생성해요.
  • X500Principal(String name, Map<String, String> keywordMap) — X.500 distinguished name의 문자열 표현과 속성 타입 키워드가 OID에 매핑된 맵으로 생성해요.

어떻게 쓰일까요?

X.509 인증서에서 발급자(issuer)와 주체(subject)를 나타내는 데 핵심적으로 사용돼요. X509Certificate.getSubjectX500Principal()이 반환하는 값이 바로 이 타입이라서, 인증서의 소유자를 문자열로 쉽게 얻을 수 있어요.

더 알아보기 (Learn more)