
Tomcat 8을 서비스로 시작하기 위해 만든 권한 없는 사용자가 있습니다. Tomcat은 팀 구성원이 .ipa 파일과 프로비저닝 프로필을 업로드한 다음 .ipa 파일에 다시 서명할 수 있는 작업을 제공하는 데 사용되는 Jenkins를 실행합니다. Jenkins는 .ipa 파일에 다시 서명할 때마다 쉘 스크립트를 실행합니다. 해당 셸 스크립트는 최근 업데이트되어 이제 보안 명령을 호출하여 다음 오류가 발생합니다.
보안: 인증서 가져오기 실패: 기본 키체인을 찾을 수 없습니다.
권한이 없는 Tomcat 사용자에 대해 기본 키체인을 설정해야 합니다.
권한이 없는 사용자에게 기본 키체인을 추가하거나 해당 사용자가 해당 키체인을 사용하도록 하려면 어떻게 해야 합니까?
명령을 실행해야 하는지, 아니면 tomcat.plist에서 키체인을 지정해야 하는지 잘 모르겠습니다.
답변1
해결 방법을 찾았습니다. 다음을 사용하여 새 키체인을 동적으로 생성하고 키체인에 인증서를 추가한 후 나중에 키체인을 제거할 수 있었습니다.
security create-keychain -p temp "temp.keychain"
security add-certificates -k "temp.keychain" "ios_distribution.cer"
security unlock-keychain -p temp "temp.keychain"
security cms -D -k "temp.keychain" -i "blah.mobileprovision" > <entitlements>
...do some stuff...
security delete-keychain -h "temp.keychain"
권한이 없는 사용자에 대해 키체인을 설정하려면 다음 명령을 사용할 수 있습니다.
default-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]]
전.
default-keychain -h "temp.keychain"
권한이 없는 사용자가 실행하는 쉘 스크립트에서 해당 명령을 실행할 수 있습니다(제가 하고 있는 것처럼).