|
即将发布的macOS版本中强制执行应用程序公证
8 [& M8 F+ U& A0 t* q. ?+ n$ H8 ~# E& N) L. p7 V
. O) c9 V4 D! B e$ i公证是应用程序开发过程中的可选步骤,但macOS的Gatekeeper很快将要求Apple对Mac App Store之外分发的所有已签名应用程序进行公证。
# G- f1 e5 E8 H5 y2 }) I4 k6 P7 b( g& s7 D
& u- e8 ~+ m' w$ d3 r$ D9 j& T+ s/ K3 y
什么是开发人员ID?
7 O3 n; \+ J% C# |$ _8 ~" c }5 t n/ X! G" r' Y8 Q) f9 B
在今天的邀请开发人员为Mojave的Gatekeeper对其Mac软件进行公证的帖子中,苹果表示,Gatekeeper在“即将发行的macOS”中将要求所有使用Developer ID签名的Mac应用程序进行公证。
( ~1 f4 i6 H2 B! d8 ?
/ X& u# z, x8 UmacOS中的Gatekeeper设置
" p: J2 b( }. s. D8 f5 r4 F3 X6 f9 k4 R: B3 u. x: c. m
开发者编号在Mountain Lion中添加了,以允许在Mac App Store外部分发的正确签名的应用程序在启用了默认Gatekeeper安全级别的Mac上运行。开发者ID的最新版本还为在App Store外部发布的应用程序提供了iCloud服务。
# |' k. ]7 S$ o0 {0 I* T5 U; e, A- B
2 w& d, M J7 }/ R. Q. a2 o网闸警告:莫哈韦与大塞拉利昂
# @) B8 D+ H8 L0 p( k* D* K) w y. N3 U$ H! o& K
在Mojave之前,从一个身份不明的开发人员处打开应用程序时发出了一个可怕的警告,说它是从Internet下载的,询问您是否真的要打开它。对话框的措辞和设计使其听起来像您即将启动一个恶意软件。" _1 K5 D' I" B0 g& n l: J! d3 @
B# V' f) S W# L; P/ S; `" \您可以轻松地覆盖此警告,而无需更改Gatekeeper的安全级别。2 T% `. P! G0 f8 m) K; A# P9 G0 j
1 S4 [( c" F: J0 X7 d/ ^6 t m
较旧的macOS版本中的Gatekeeper对话框有些吓人 t }+ y4 E, Z9 u4 m
0 P" f! D4 f; O2 y
只需右键单击一个应用程序的图标,然后从弹出菜单中选择“ 打开 ”。在Mojave上,经过公证的应用程序的Gatekeeper警告不那么令人担忧。首次在Mojave上打开经过公证的应用程序,安装程序包或磁盘映像时,您会看到更加简化的Gatekeeper对话框,该对话框应该使您确信自己没有尝试打开已知的恶意软件。
# s. Y: r* D# s, _1 T& ~6 X7 F& U9 Q6 W! B: G% U* L4 P. q% `' b K
Mojave中用户友好的Gatekeeper对话框3 w( n7 I5 J! l8 R7 B+ m# D
, u; g* p; ]+ N. ^5 c
应用公证! x7 Y' h! r) q
$ g5 N3 M# Q/ f7 f; y9 N4 J- S z: s8 A苹果将​​经过公证的应用程序描述为一种macOS应用程序,该应用程序已上载到该MacOS应用程序,然后再在非Mac App Store环境(例如开发人员的官方网站)中分发,然后进行处理。
1 O( \2 U8 d; b& \; Y6 F
7 `* S( ?* r6 r) g教程: 如何绕过“这是从Internet下载的应用程序”警告
- H$ ^) y/ F: q" p! G- I9 Y {: [5 i2 @( }% H5 y
应用程序公证使用户更有信心,他们不会使用恶意软件或将窃取其身份或劫持个人数据的应用程序。Apple的公证服务会自动扫描开发者ID签名的软件并执行安全检查。: E0 r# b5 G+ p+ S, S$ p, Q- c
# t4 M, Q1 E9 V; Y" A* g8 n4 \+ p来自ArsTechnica 对macOS Mojave的评论:
5 e- R7 g1 Y. `- m0 T4 D
/ x: s/ _6 M, q/ I! [9 V$ yApple的Notary Service将检查开发人员提交的已签名的,可立即分发的应用程序包,以确保它们不包含恶意软件,所有可执行文件均已正确签名并且这些应用程序使用新的SIP增强运行时。% G( j7 i; o& V
. [* q) B# R& x% h' p5 R这是苹果对应用程序公证的描述:( V u% }1 ^0 j" T% m9 h
8 ^/ q! W1 |8 c* K8 i经过公证的应用程序是一个macOS应用程序,已在分发前上传到Apple进行处理。当您从Xcode导出经过公证的应用程序时,它会使用开发者ID证书对应用程序进行签名,然后将票证从Apple装订到该应用程序。票证确认您先前已将应用程序上传到Apple。
, P% L" P9 S/ d% C+ T4 _/ O* Q2 F* `9 g0 C( V! M3 E2 U
MacOS的莫哈韦10.14并没有阻止您启用关守时启动公证应用。当您首次在Mojave上启动经过公证的应用程序时,Gatekeeper只是在网上查找该应用程序的票证,以证明该代码未被篡改。
3 q+ g" \: Q; z$ N- V- q
* Q- K, H9 o, L7 [8 c% G如果用户离线,则Gatekeeper会查找装订到应用程序中的票证。" P" V( V9 h; r8 W3 R# o
% U/ e* f9 _! `" \当未来的macOS版本将应用程序公证从可选公证转换为必需时,Apple可能会将当前的“ App Store和已确定的开发人员”网守级别更改为要求公证。或者,正如ArsTechnica推测的那样,在“ App Store和已确定的开发人员”与“仅App Store”之间的某个点可能存在第四个Gatekeeper安全级别。3 q$ k# N# y, v4 n2 [4 ?4 c
( d. E e! A) n: [
5 T8 h2 W; D" i4 J! D" p7 Q2 J O4 ~6 b" X9 f2 O7 f' R
|
|