1

java를 사용하여 디지털 인증서를 작성하고 표준 getter 메서드를 사용하여 X.509 인증서의 특성을 읽었습니다. 아래 코드는 -디지털 인증서의 친숙한 이름 읽기

X509Certificate c = (X509Certificate)cf.generateCertificate(fr); 
System.out.println("\tCertificate for: " +c.getSubjectDN()); 
System.out.println("\tCertificate issued by: " +c.getIssuerDN()); 
System.out.println("\tCertificate SN# " +c.getSerialNumber()); 

또한 친절한 이름을 읽고 싶습니다. 어떻게 GetFriendlyName과 같은 getter도 없습니다. 그렇다면 어떻게하면 인증서의 친숙한 이름을 읽을 수 있습니까? 아니면 프로그래밍 방식으로 파생시킬 수 있습니까?

+0

"친숙한 이름"이란 정확히 무엇을 의미합니까? [X.509] (http://en.wikipedia.org/wiki/X.509)는 "친숙한 이름"을 정의하지 않습니다. 아마도 Common Name (CN) Distinguished Name을 언급하고 있습니까? – razlebe

+0

예, X.509가 친숙한 이름을 정의하지 않는다는 것을 알고 있습니다. 그러나 인증서의 세부 정보 탭을 클릭하고 속성 편집을 클릭하면 친숙한 이름이 표시됩니다. 프로그래밍 방식으로 읽는 법을 알고 싶습니까? – user496934

+0

저는 Mac을 사용하고 있습니다 - 스크린 잡는 방법은 어떻습니까? – razlebe

답변

4

친숙한 이름은 인증서에 저장되지 않습니다.이 이름은 Microsoft Windows 인증서 저장소의 기능입니다. 그래서 그것은 크로스 플랫폼이 아니며 표준 자바 API가 없다는 것을 의미합니다.

+0

나는 그것을 생각하고 있었다. 그러나 인증서의 이름을 편집하여 다른 이름으로 만들 수 있습니다. 이 경우 접근 방식이 작동하지 않습니다. – user496934

+2

나는 당신이 무슨 말을하는지 모른다. 모든 중요한 정보에는 서명이되어 있으므로 변경할 수 없습니다. 원하는대로 변경할 수있는 것을 발견했다면, 전혀 사용해서는 안되며 나쁜 습관 일 것입니다. – popfalushi

+0

내가 무슨 말하는지 모르겠다. --- 이것이 제가 말했던 것입니다. 이미 분명히 말했어 - "하지만 인증서의 세부 정보 탭에서 IE.Click에서 열면 속성에 정의 된 친숙한 이름이 있습니다. 등록 정보 편집을 클릭하면 친숙한 이름이 나타납니다. 읽는 방법을 알고 싶습니다. "\ – user496934