Đã ký nhưng vẫn không thể mở


0

Một đồng nghiệp của tôi đã ký một ứng dụng chúng tôi đang làm việc. Cố gắng mở nó từ công cụ tìm, tôi nhận được một thông báo lỗi

Tên của bạn không thể được mở bởi vì nó là từ một nhà phát triển không xác định

(hoặc bản dịch địa phương này). Trên bảng điều khiển tôi đọc

CoreServicesUIAgent[‹pid›]: Error -60005 creating authorization

Nhưng nếu tôi chạy codeign trên mã, nó dường như kiểm tra tốt:

$ codesign -vv .
.: valid on disk
.: satisfies its Designated Requirement

Vì vậy, có vẻ như các gói đã được ký chính xác. Để biết thêm chi tiết:

$ codesign -dvv .
Executable=…
Identifier=…
Format=app bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20200 size=440 flags=0x0(none) hashes=8+3 location=embedded
Signature size=4731
Authority=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=21.07.2016, ‹Time›
Info.plist entries=25
TeamIdentifier=‹TeamID›
Sealed Resources version=2 rules=12 files=1164
Internal requirements count=1 size=208

Vì vậy, từ các Authority=dòng tôi đã kết luận rằng chuỗi chứng chỉ cũng có thể được xác minh và nó sẽ dẫn trở lại Apple. Làm thế nào mà không xác định được thế giới?

Từ bài đăng này tôi đã tìm hiểu về spctlnó, nhưng nó cũng không cung cấp nhiều thông tin:

$ spctl --assess -vvvv .
.: rejected
origin=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)

Làm cách nào tôi có thể nhận thêm thông tin về lý do tại sao chính xác ứng dụng không tải được?

Câu trả lời:


1

Trong khi đặt câu hỏi, tôi đã thử nhiều cách kết hợp từ khóa khác nhau và cuối cùng tìm thấy Sự khác biệt giữa Nhà phát triển Mac Mac và ứng dụng Nhà phát triển Mac của bên thứ 3 trên Stack Overflow, dẫn đến tài liệu của nhà phát triển về Duy trì chứng chỉ lần lượt viết điều này:

  • Loại: Mac App Phân phối:
    Tên: 3rd Party Mac Developer Application: Team Name
    Mô tả: Được sử dụng để ký một ứng dụng Mac trước khi gửi nó đến Mac App Store.

  • Loại: Ứng dụng ID nhà phát triển:
    Tên: Developer ID Application: Team Name
    Mô tả: Được sử dụng để ký ứng dụng Mac trước khi phân phối bên ngoài Mac App Store.

Vì vậy, rõ ràng hình thức ký mã này chỉ phù hợp để gửi cho App Store, nhưng không phải cho phân phối độc lập. Điều đó mất khá nhiều thời gian để giải quyết, vì vậy tôi hy vọng phần hỏi đáp này sẽ giúp người khác tránh được thời gian đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.