인증서에서 SSL 인증서 고정 명령 가져오기

인증서에서 SSL 인증서 고정 명령 가져오기

PEM 형식의 새 인증서가 있습니다. iOS가 기대하는 형식을 어떻게 얻나요(OpenSSL을 사용하여?)? (예:Alamofire/source/ServerTrustEvaluation.swift) 나는 다음과 같은 것을 사용해 보았습니다.

openssl x509 -in newcertificate.crt -outform der |openssl dgst -sha256 -binary |openssl enc -base64

하지만 iOS 라이브러리에서는 디버그와 같은 출력을 생성하지 않습니다. 물론 라이브러리 디버깅에서 고정을 얻을 수 있지만 OpenSSL 명령을 사용하여 동일한 고정을 받고 싶습니다.

답변1

iOS가 웹 페이지에서 인증서를 로드하도록 할 계획이라면 웹 서버가 올바른 MIME 유형을 제공하는지 확인하기만 하면 됩니다. 형식이 지정된 인증서 의 경우 pemMIME 유형은 입니다 application/x-x509-ca-cert. MIME 유형이 올바른 경우 iOS는 PEM 형식의 인증서를 있는 그대로 수락하고 "수락하시겠습니까..." 프롬프트를 표시한 다음 인증서만 포함된 최소 "프로필"로 설치할 수 있습니다.

iOS에 인증서와 해당 개인 키를 제공해야 하는 경우(즉, 일부 서비스의 신원을 확인하는 것이 아니라 실제로 인증을 위해 인증서를 사용하기 위해 인증서가 필요한 경우) 인증서와 개인 키를 모두 패키지해야 할 수도 있습니다. 키. 키는 단일 PKCS#12 파일(접미사 .pfx또는 .p12)에 저장되고 MIME 유형으로 제공됩니다 application/x-pkcs12. 다음 명령을 사용하여 PKCS#12 형식으로 변환할 수 있습니다 openssl pkcs12 -export. man pkcs12자세한 내용은 을 참조하세요.

.mobileconfig또 다른 옵션은 접미사 (및 해당 MIME 유형 )를 사용하여 인증서를 application/x-apple-aspen-configApple 스타일 "프로필" 로 래핑하는 것입니다. 그러나 파일을 생성하는 .mobileconfig데 필요한 도구가 없으면 파일 생성이 까다롭습니다. 파일 은 특정 구조를 가진 XML 파일이며 선택적으로 서명할 수 있는 .mobileconfigApple 파일입니다 .plist

관련 정보