2013-03-06 5 views
3

사용자 인증서에서 x509 v3 확장자를 삭제하려면 가벼운 PKC를 만들어야합니다. 이 openssl 명령을 사용하여 v3 확장을 삭제해도됩니까?발급 된 인증서에서 x.509 v3 확장자 삭제

있는 OpenSSL에서는 X509 -in /usr/local/openca/var/openca/crypto/certs/E841B2655206FA6A3ADA.pem -noout -text -certopt no_extensions -out/usr/지방/openca은/var/openca/암호/인증서 표시/-out E841B2655206FA6A3ADA_nov3ext.pem

또는 x509 확장명이 x509 확장명을 포함하지 않기 때문에 x509 v1 인증서를 생성하려면 어디로 변경해야합니까? 참조 용 링크를 제공해 주시겠습니까?

감사합니다.

+4

확장 프로그램이 인증서의 서명 된 부분이라는 것을 알고 있습니까? 그렇습니다. 따라서 인증서를 삭제하면 인증서의 인증서 체인이 더 이상 확인되지 않습니다. 또한 확장이 제거 된 경우에도 고유 한 식별자가 있으면 인증서가 버전 v2 이상이어야 할 수 있습니다. – mkl

답변

1

일반적으로 (실제로는 항상입니다!) 서명은 인증서의 고유 이름을 포함하지 않습니다. 하지만 다른 모든 것들 (연쇄, 만료 날짜 등).

그래서 인증서 크기를 줄이기가 어렵지는 않지만 발행자가 즉시 서명을 무효화합니다.

그러나 어떤 경우에는 다른 작업을 수행 할 수 있습니다. 즉, 인증서의 서명 부분을 완전히 분배하거나 무시합니다. 공개 키에만 초점을 맞 춥니 다.

cat somecert.pem | openssl x509 -pubkey -nout 

같은

사용가 someting는 공개 키를 얻을 수 있습니다. 따라서 X509를 모두 포기하고 더 이상 PKI를 보유하지 않습니다. 원시 공개 키와 개인 키의 쌍.

그런 다음 응용 프로그램에서 자신의 암호를 발명하는 것에 대해 용서할 수없는 일들을 저 지르십시오. 공개 키 소유자가 개인 키를 사용하여 비공개로 서명하게하십시오. 서명을 확인하십시오. 예 :

# the 'server' sends a nonce to the client 
openssl rand -base64 128 > send-to-client 

은 다음 클라이언트에이

을 서명 고양이 MSG-에서 서버 | openssl pkeyutl -inkey privkey.pem -sign | 베이스 64> 보내-서버에

서버에 우리는이

cat msg-from-client | openssl pkeyutl -in pubkey-of-client.pem -verify 

을 확인하고 가지가 형성 걸릴. 그러나 당신이 킥 - 엉 암호 작성자와 프로토콜 디자이너가 아니라면,이 같은 계획 (그리고 위의 것은 확실합니다!)은 결점과 함정으로 가득 채워져 있습니다.

그러나 이론적으로 1000 바이트의 RSA 키를 사용할 수 있습니다. 또는 타원 곡선 기반 키 몇 백 바이트.

관련 문제