X509Certificate 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
- 구현
설명
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 |
확장에서 인증서 제약 조건의 경로 길이를 |
| Class |
이 |
| CriticalExtensionOIDs |
X에 대한 추상 클래스입니다. |
| ExtendedKeyUsage |
확장 키 사용 확장 필드의 OBJECT IDENTIFIER |
| Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
| HasUnsupportedCriticalExtension |
X에 대한 추상 클래스입니다. |
| IssuerAlternativeNames |
확장에서 |
| IssuerDN |
|
| IssuerX500Principal |
인증서에서 발급자(발급자 고유 이름) 값을 반환합니다 |
| JniIdentityHashCode |
X에 대한 추상 클래스입니다. (다음에서 상속됨 Object) |
| JniPeerMembers |
X에 대한 추상 클래스입니다. |
| NonCriticalExtensionOIDs |
X에 대한 추상 클래스입니다. |
| NotAfter |
|
| NotBefore |
인증서 유효 |
| PeerReference |
X에 대한 추상 클래스입니다. (다음에서 상속됨 Object) |
| PublicKey |
이 인증서에 해당하는 공개 키를 반환합니다. (다음에서 상속됨 Certificate) |
| SerialNumber |
인증서를 |
| SigAlgName |
인증서 서명에 대한 알고리즘의 이름을 반환합니다. |
| SigAlgOID |
인증서에서 서명 알고리즘의 OID를 반환합니다. |
| SubjectAlternativeNames |
확장에서 |
| SubjectDN |
|
| SubjectX500Principal |
인증서에서 주체(주체 고유 이름) 값을 반환합니다 |
| ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
| ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
| Type |
이 인증서의 형식을 반환합니다. (다음에서 상속됨 Certificate) |
| 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 문자열을 |
| GetHashCode() |
개체에 대한 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
| GetIssuerUniqueID() |
인증서에서 |
| GetKeyUsage() |
확장의 |
| GetSigAlgParams() |
이 인증서의 서명 알고리즘에서 DER로 인코딩된 서명 알고리즘 매개 변수를 가져옵니다. |
| GetSignature() |
인증서에서 |
| GetSubjectUniqueID() |
인증서에서 |
| GetTBSCertificate() |
이 인증서에서 DER로 인코딩된 인증서 정보를 |
| 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) |
인스턴스 |
| JavaAs<TResult>(IJavaPeerable) |
형식 |
| JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
| JavaCast<TResult>(IJavaObject) |
X에 대한 추상 클래스입니다. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
형식 |