문제

I 께서 최근에는 문제는 윈도우 2003(분명히 또한 그것에 존재하는 다른 버전이 너무),는 경우에는 SSL/TLS 서버가 요청하는 클라이언트 인증 그리고 그것은 더 이상 16KB 의 신뢰할 수 있는 인증서 DNs,인터넷 익스플로러(또는 다른 응용 프로그램을 사용하는 schannel.dll)할 수 없다는 메시지가 표시됩니다 SSL handshake.(간단히 말해서,서버에 메시지를 나누기 덩어리로 2^14 바이트로 RFC2246sec.6.2.1 지만,샤넬지 않았 작성하는 지원을 아끼지 않을 것입니다.I've 확인 Microsoft 에서 지원하는 이에 결함 샤넬과 그들은 그들을 고려에 고정됩니다.)

그래서 나는 방법을 찾기 위해 노력하고 쉽게 분석을 통해 내는 신뢰할 수 있는 인증서(내가 사용하는 방법으로 아파치 서버,그래서 그들 모두는 PEM 형식)을 얻을 총 ASN.1-형식의 길이 DNs(는 그들이 어떻게 얻을 통해 전송되는 와이어 중에 악수),이를 참조하면 나는 너무 가까이 있습니다.나는 아직 할 수 있는 방법을 찾을 수행하더라도,이것:OpenSSL asn1parse 기능에 가까이 오지만,그것은 보이지 않는 방법을 제공합을 얻을 ASN.1 시퀀스에 대해서만 발급자 이름이 제게 필요한 것입니다.

어떤 방법이 있나요?

도움이 되었습니까?

해결책

이후 ASN.1 은 자기를 설명하는,그것은 매우 쉽게 작성하는 ASN.1parser.여러분이 아시다시피,ASN.1 개의 데이터 포함의 나무 가치,각 가치 유형을 식별하여 세계적으로 할당된 OID(Object ID).을 찾을 수 있습 무료 ASN.1decoder 소스에서 코드: http://www.geocities.co.jp/SiliconValley-SanJose/3377/asn1JS.html.그'의 자바 스크립트로 작성된 그래서 당신이 그것을 재생할 수 있습니다 당신의 브라우저에서 직접.

으로 정확한 질의 것:

  1. 를 사용하여 공급되는 파서,다른 하나 쓰는 내 자신
  2. 찾 OID 의 신뢰할 수 있는 DNs(사양을 확인합 또는 단순히 디코딩하는 인증서를 사용하는 공급 ASN.1 페이지 디코더)
  3. 두가지를 위하물의 크기는 신뢰할 수 있는 DNs 내의 인증서입니다.

다른 팁

openssl asn1parse 그것을 할 것입니다,하지만 당신이해야 할 수동 분석을 파악 발행 시퀀스가 시작됩니다.RFC5280,그것의 제 4 항목에서 TBSCertificate 시퀀스(잠재적으로 제 3 의 경우 v1 인증서),다음의 서명 알고리즘이 있습니다.다음 예제:

    0:d=0  hl=4 l= 621 cons: SEQUENCE
    4:d=1  hl=4 l= 470 cons:  SEQUENCE
    8:d=2  hl=2 l=   3 cons:   cont [ 0 ]
   10:d=3  hl=2 l=   1 prim:    INTEGER           :02
   13:d=2  hl=2 l=   1 prim:   INTEGER           :02
   16:d=2  hl=2 l=  13 cons:   SEQUENCE
   18:d=3  hl=2 l=   9 prim:    OBJECT            :sha1WithRSAEncryption
   29:d=3  hl=2 l=   0 prim:    NULL
   31:d=2  hl=2 l=  64 cons:   SEQUENCE
   33:d=3  hl=2 l=  11 cons:    SET
   35:d=4  hl=2 l=   9 cons:     SEQUENCE
   37:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
   42:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :US
   46:d=3  hl=2 l=  26 cons:    SET
   48:d=4  hl=2 l=  24 cons:     SEQUENCE
   50:d=5  hl=2 l=   3 prim:      OBJECT            :organizationName
   55:d=5  hl=2 l=  17 prim:      PRINTABLESTRING   :Test Certificates
   74:d=3  hl=2 l=  21 cons:    SET
   76:d=4  hl=2 l=  19 cons:     SEQUENCE
   78:d=5  hl=2 l=   3 prim:      OBJECT            :commonName
   83:d=5  hl=2 l=  12 prim:      PRINTABLESTRING   :Trust Anchor
   97:d=2  hl=2 l=  30 cons:   SEQUENCE
   99:d=3  hl=2 l=  13 prim:    UTCTIME           :010419145720Z
  114:d=3  hl=2 l=  13 prim:    UTCTIME           :110419145720Z
  129:d=2  hl=2 l=  59 cons:   SEQUENCE

발행 DN 오프셋에서 시작 31 헤더 길이의 두 값의 길이는 64,총 길이 66 개의 바이트입니다.이렇게 쉽지 않을 스크립트.의 상표 또는 등록 상표입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top