iOS 어플리케이션 OTA 설치용 서버 구축 문제 해결

2388 단어 iOS

개시하다


개발 중인 iOS 응용 프로그램 OTA를 설치하기 위해 참조이 보도 인증서로 HTTPS 서버를 구축했습니다.
몇 가지 실패가 있었기 때문에 만일을 대비해 내용을 먼저 남겼다.

환경을 구축하다


HTTPS 서버

  • OS: Windows Server 2012 R2 Standard
  • 웹 서버: IIS6.2
  • 인증서 발행 환경

  • OS: MacOS Sierra
  • OpenSSL: 1.0.2n
  • easy-rsa: 3.0.4
  • iOS 터미널

  • OS: 11.0.2
  • 실패한 일


    ipa와 manfest.plist에 접근할 수 없음
  • HTTPS에서 실행되지만 설치 링크를 열면 "xxx에 연결할 수 없음"오류가 발생
  • 클라이언트에 설치된 CA 인증서를 안정적으로 설정할 수 없음
  • ipa와 manfest.plist에 액세스할 수 없습니다.


    조사 결과 서버 측의 MIME 설정이 부족하기 때문이라는 것을 곧 알게 되었다.
    다음 설정 서버를 통해 해결합니다.
    확장자
    MIME의 종류.
    .ipa
    application/octet-stream
    .plist
    text/xml

    HTTPS에서 실행되지만 설치 링크를 열면 "xxx에 연결할 수 없습니다" 오류가 발생합니다.



    나는 원인이 몇 가지가 있다고 생각하지만, 자신의 상황인 HTTPS 서버의 설정이 정확하지 않은 것은 원인이다.
    사파리가 제대로 설정됐는지 확인하기 어려운 만큼 크롬으로 확인하는 것을 추천한다.
    크롬의 경우 URL 왼쪽에 있는 열쇠 표시를 클릭하면 오류 내용이 표시되기 때문에 문제를 해결하기 쉽다.

    부족한 설정

  • IPA 설치 전에 iOS 터미널에 내 CA 인증서 설치
    참고로 설치 인증서의 프로필을 만들고 설치했습니다
    인증서를 PEM으로 내보내고 Safari를 통해 액세스하면 인증서를 설치할 수도 있습니다.

  • iOS 터미널에 설치된 CA 인증서를 인증서 Trust 구성에서 신뢰할 수 있는 CA로 설정
    설치 후 이렇게 되면 우리 CA가 발행한 서버 인증서는 자동으로 신뢰되지 않습니다.
    구성 응용 프로그램 열기
    일반 인증서 신뢰 설정
  • 열면 방금 설치한 인증서가 표시되므로 각도 스위치를 ON으로 설정합니다.
  • CA 인증서의 CN(공용 이름) HTTPS 서버에 대한 FQDN 또는 IP 주소 설정
    인증서를 발행할 때 CN을 입력하지만 실제 서버의 값과 다르면 브라우저 측에서 오류가 발생합니다.
    오류를 방지하려면 동일한 값을 입력합니다.
    예) 서버의 IP 주소가 192.168.10.5이면 192.168.10.5를 CN에 입력합니다.
    그렇게 하지 않으면 사파리가 이해하기 어렵고, 크롬의 잘못은 다음과 같다.

  • 클라이언트에 설치된 CA 인증서를 안정적으로 설정할 수 없습니다.


    IIS에 탑재된 기능을 사용해도 내 인증서를 만들 수 있지만 이 경우 CN만 값이 있으면 다른 organization 정보는 비어 있다.
    이 경우 iOS 터미널에 인증서를 설치해도 인증서 신뢰 설정에 아무런 문제가 발생하지 않습니다.
    easyrsa가 증명서를 제작하는 경우 기본적으로 organization 정보는 생략되기 때문에 주의해야 합니다.
    설정
    #set_var EASYRSA_DN "org"
    댓글이 없어지면 설정이 됩니다.

    좋은 웹페이지 즐겨찾기