답변
X.509은 일련의 표준이며, PEM은 파일 (인코딩)의 X.509 객체 표현입니다. 문자 그대로 모든 데이터는 PEM 형식으로 나타낼 수 있습니다. 바이트 배열로 변환 될 수있는 모든 것은 RAM이 매우 큰 바이트 배열이기 때문에 PEM 형식으로 표현 될 수 있습니다.
모든 X.509 객체는 전송 가능하며 바이트 배열로 ASN.1 (Abstract Syntax Notation One)을 사용하여 표현됩니다. 바이트 배열은 네트워크를 통해 전송 될 때 훌륭하지만 어딘가에 저장 될 때 항상 유용하지는 않습니다. 또 다른 한가지는 X.509 객체 유형을 토륨 컨텐츠 분석없이 쉽게 결정할 수 없다는 것입니다.
PEM은개인 정보 보호 강화 메일의 약자 RFC1421에 정의되어 있습니다. PEM은 약간 다른 용도로 개발되었지만 PEM 표현을 정의합니다. 특히 인쇄 할 수없는 문자 만 인쇄 가능한 문자로 표시해야하는 경우에 적합합니다. 암호화에서 PEM은 X.509 개체 표시와 만 연결됩니다. 또한 PEM은 포함 된 개체를 식별하기위한 추가 데이터를 제공합니다. X.509 객체
ASN.1 형태는 (바이트를 나타내는 옥텟 시리즈) 바이트 배열 예이다
3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63
70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72
이 두 번해야하므로 헥스 이진 데이터를 표현하는데 유용하지 않기 때문에 원래 데이터보다 더 많은 공간이 있으면보다 효율적인 Base64 인코딩이 사용됩니다.
X.509 인증서
-----BEGIN CERTIFICATE-----
MIIEITCCA+CgAwIBAgIUKMmxmDbjbHqt+Yzwj5lflBxuQwEwCQYHKoZIzjgEAzAjMSEwHwYDVQQD
ExhUb2tlbiBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTIxMTE2MTgzODMwWhcNMTIxMTIzMTgzODMw
WjAtMSswKQYDVQQDHiIAYgBiADEANAAxADkAYQAyAGMAZgBjADEAZQAwADAAOAAAMIGfMA0GCSqG
<...>
-----END CERTIFICATE-----
X.509 인증서 해지 목록
-----BEGIN X509 CRL-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END X509 CRL-----
X.509 인증서 : 그리고 특별한 머리글과 바닥 글이 포함 된 개체 유형을 표시하는 데 사용됩니다 요청
,210PKCS # 1 개인 키
-----BEGIN RSA PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END RSA PRIVATE KEY-----
PKCS # 8 개인 키
-----BEGIN PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END PRIVATE KEY-----
등등.
- 1. * x = i와 x = & i의 차이점
- 2. x : Key와 x : Name의 차이점
- 3. 단항 연산자의 차이점 (+ =, = +, ++ x, x ++)
- 4. -x와 ~ x + 1의 차이점
- 5. x = y와 x = y == 1의 차이점
- 6. Numberlong (x)과 Numberlong ("x") 사이의 차이점
- 7. .pem의 인증서 16 진수 세부 정보 openssl
- 8. 차이점 if (x) {foo(); } 및 x? foo() : 0;
- 9. const int와 x = 4 및 const int x = 4의 차이점
- 10. view.hidden = x와 [view setHidden : x]의 차이점
- 11. flot chart- x 축의 시작점의 차이점
- 12. $ x = undef와 undef $ x
- 13. JKS to Pem의 공용 키 가져 오기 및 그 반대로
- 14. DD certificate pem의 내용을 인쇄하는 ASN1 디코더 (libtasn1-3.3)
- 15. "value"== typeof X "VS"typeof X == 'value' "
- 16. mimetypes의 차이점 : 오디오/mpeg 및 오디오/x-mpeg
- 17. Ruby, exec, system 및 % x() 또는 Backticks의 차이점
- 18. IO-APIC 레벨과 PCI-MSI-X 사이의 차이점
- 19. SOLR 4.x와 3.x 구문 분석의 차이점
- 20. BeanNameUrlHandlerMapping의 차이점 SimpleUrlHandlerMapping의 차이점
- 21. 차이점 System.Windows.Controls.Page와 Windows.UI.Xaml.Controls.Page의 차이점
- 22. 차이점
- 23. EasyMock.createStrictMock (클래스 <T>x)과 EasyMock.createNiceMock (클래스 <T>x)의 차이점
- 24. OpenGL GLSL의 atan (y/x) 및 atan2 (y, x)와의 차이점
- 25. x << a + x << b와 괄호의 유무 차이점
- 26. 차이점 downcase와 downcase의 차이점! Ruby에서
- 27. IE5와 IE8의 차이점 모드 차이점
- 28. achartengine의 차이점 Type.DEFAULT와 Type.STACKED의 차이점
- 29. 차이점 LayoutInflater의 차이점 SearchView 아이콘
- 30. Linq의 Sum() 구문의 차이점