X509Certificate 클래스

정의

X에 대한 추상 클래스입니다.

[Android.Runtime.Register("java/security/cert/X509Certificate", DoNotGenerateAcw=true)]
public abstract class X509Certificate : Java.Security.Cert.Certificate, IDisposable, Java.Interop.IJavaPeerable, Java.Security.Cert.IX509Extension
[<Android.Runtime.Register("java/security/cert/X509Certificate", DoNotGenerateAcw=true)>]
type X509Certificate = class
    inherit Certificate
    interface IX509Extension
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
X509Certificate
특성
구현

설명

X.509 인증서에 대한 추상 클래스입니다. X.509 인증서의 모든 특성에 액세스하는 표준 방법을 제공합니다.

1996년 6월, 기본 X.509 v3 형식은 ASN.1에서 아래에 설명된 ISO/IEC 및 ANSI X9에 의해 완료되었습니다.

Certificate  ::=  SEQUENCE  {
                tbsCertificate       TBSCertificate,
                signatureAlgorithm   AlgorithmIdentifier,
                signature            BIT STRING  }

이러한 인증서는 인터넷 보안 시스템의 인증 및 기타 기능을 지원하는 데 널리 사용됩니다. 일반적인 애플리케이션에는 PEM(개인 정보 보호 강화 메일), SSL(전송 계층 보안), 신뢰할 수 있는 소프트웨어 배포를 위한 코드 서명 및 SET(Secure Electronic Transactions)가 포함됩니다.

이러한 인증서는 EM>CA(인증 기관</em>)에 의해 <관리 및 보증됩니다. CA는 X.509 표준 형식으로 데이터를 배치한 다음 해당 데이터에 디지털 서명하여 인증서를 만드는 서비스입니다. CA는 신뢰할 수 있는 제3자 역할을 하며 서로에 대한 직접적인 지식이 없는 보안 주체 간에 소개합니다. CA 인증서는 자체 또는 일부 다른 CA(예: "루트" CA)에 의해 서명됩니다.

자세한 내용은 RFC 3280: Internet X.509 공개 키 인프라 인증서 및 CRL 프로필에서 찾을 수 있습니다.

ASN.1 정의 tbsCertificate 는 다음과 같습니다.

TBSCertificate  ::=  SEQUENCE  {
                version         [0]  EXPLICIT Version DEFAULT v1,
                serialNumber         CertificateSerialNumber,
                signature            AlgorithmIdentifier,
                issuer               Name,
                validity             Validity,
                subject              Name,
                subjectPublicKeyInfo SubjectPublicKeyInfo,
                issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                                     -- If present, version must be v2 or v3
                subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                                     -- If present, version must be v2 or v3
                extensions      [3]  EXPLICIT Extensions OPTIONAL
                                     -- If present, version must be v3
                }

인증서는 인증서 팩터리를 사용하여 인스턴스화됩니다. 다음은 X.509 인증서를 인스턴스화하는 방법의 예입니다.

try (InputStream inStream = new FileInputStream("fileName-of-cert")) {
                CertificateFactory cf = CertificateFactory.getInstance("X.509");
                X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
            }

에 대한 java.security.cert.X509CertificateJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

Name Description
X509Certificate()

X에 대한 생성자입니다.

X509Certificate(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Name Description
BasicConstraints

확장에서 인증서 제약 조건의 경로 길이를 BasicContraints 반환합니다.

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
CriticalExtensionOIDs

X에 대한 추상 클래스입니다.

ExtendedKeyUsage

확장 키 사용 확장 필드의 OBJECT IDENTIFIER ExtKeyUsageSyntax (OID = 2)을 나타내는 수정할 수 없는 문자열 목록을 가져옵니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
HasUnsupportedCriticalExtension

X에 대한 추상 클래스입니다.

IssuerAlternativeNames

확장에서 IssuerAltName 발급자 대체 이름의 변경할 수 없는 컬렉션을 가져옵니다(OID = 2).

IssuerDN

issuer 구현별 Principal 개체로 (발급자 고유 이름)을 반환합니다.

IssuerX500Principal

인증서에서 발급자(발급자 고유 이름) 값을 반환합니다 X500Principal.

JniIdentityHashCode

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
JniPeerMembers

X에 대한 추상 클래스입니다.

NonCriticalExtensionOIDs

X에 대한 추상 클래스입니다.

NotAfter

notAfter 인증서의 유효 기간 날짜를 반환합니다.

NotBefore

인증서 유효 notBefore 기간의 날짜를 반환합니다.

PeerReference

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
PublicKey

이 인증서에 해당하는 공개 키를 반환합니다.

(다음에서 상속됨 Certificate)
SerialNumber

인증서를 serialNumber 반환합니다.

SigAlgName

인증서 서명에 대한 알고리즘의 이름을 반환합니다.

SigAlgOID

인증서에서 서명 알고리즘의 OID를 반환합니다.

SubjectAlternativeNames

확장에서 SubjectAltName 주체 대체 이름의 변경할 수 없는 컬렉션을 가져옵니다(OID = 2).

SubjectDN

subject 구현별 Principal 개체로 (주체 고유 이름)를 반환합니다.

SubjectX500Principal

인증서에서 주체(주체 고유 이름) 값을 반환합니다 X500Principal.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

Type

이 인증서의 형식을 반환합니다.

(다음에서 상속됨 Certificate)
Version

인증서(버전 번호)를 반환합니다 version .

메서드

Name Description
CheckValidity()

인증서가 현재 유효한지 확인합니다.

CheckValidity(Date)

지정된 날짜가 인증서의 유효 기간 내에 있는지 확인합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetEncoded()

이 인증서의 인코딩된 형식을 반환합니다.

(다음에서 상속됨 Certificate)
GetExtensionValue(String)

전달된 문자열로 식별되는 확장 값(<em extnValue</em>)에>대한 DER로 인코딩된 OCTET 문자열을 oid 가져옵니다.

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetIssuerUniqueID()

인증서에서 issuerUniqueID 값을 가져옵니다.

GetKeyUsage()

확장의 KeyUsage 비트를 나타내는 부울 배열(OID = 2)을 가져옵니다.

GetSigAlgParams()

이 인증서의 서명 알고리즘에서 DER로 인코딩된 서명 알고리즘 매개 변수를 가져옵니다.

GetSignature()

인증서에서 signature 값(원시 서명 비트)을 가져옵니다.

GetSubjectUniqueID()

인증서에서 subjectUniqueID 값을 가져옵니다.

GetTBSCertificate()

이 인증서에서 DER로 인코딩된 인증서 정보를 tbsCertificate 가져옵니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
ToString()

이 인증서의 문자열 표현을 반환합니다.

(다음에서 상속됨 Certificate)
UnregisterFromRuntime()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
Verify(IPublicKey, Provider)

이 인증서가 지정된 공개 키에 해당하는 프라이빗 키를 사용하여 서명되었는지 확인합니다.

Verify(IPublicKey, String)

이 인증서가 지정된 공개 키에 해당하는 프라이빗 키를 사용하여 서명되었는지 확인합니다.

(다음에서 상속됨 Certificate)
Verify(IPublicKey)

이 인증서가 지정된 공개 키에 해당하는 프라이빗 키를 사용하여 서명되었는지 확인합니다.

(다음에서 상속됨 Certificate)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.>

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
WriteReplace()

serialize할 인증서를 바꿉다.

(다음에서 상속됨 Certificate)

명시적 인터페이스 구현

Name Description
IJavaPeerable.Disposed()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

X에 대한 추상 클래스입니다.

(다음에서 상속됨 Object)

확장명 메서드

Name Description
GetJniTypeName(IJavaPeerable)

인스턴스 self형식의 JNI 이름을 가져옵니다.

JavaAs<TResult>(IJavaPeerable)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

X에 대한 추상 클래스입니다.

TryJavaCast<TResult>(IJavaPeerable, TResult)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

적용 대상