הנוטריזציה מספקת ביטחון שהתוכנה החתומה על מזהה המפתח שאתה מפיץ נבדקה על ידי Apple לאיתור רכיבים זדוניים.לקבלת פרטים נוספים על כללי ודרישות הנוטריזציה של Apple, ראה נוטריזציה של תוכנת macOS לפני הפצה.
כדי להיות תואמת לכללי הנוטריזציה של Apple, InDesign 2020 הפעילה זכאות מחמירה לזמן ריצה המאפשרת לתוספי צד שלישי להיטען אל תוך InDesign מבלי שיזדקקו להוספה של חתימת קוד. עם זאת, מפתחי תוספים בדרך כלל מפיצים תוספים באינטרנט דרך מתקינים (.pkg או .dmg). מכיוון שה-Gatekeeper של Apple ב-macOS מכניס באופן אוטומטי להסגר כל קובץ בינארי שלא עבר נוטריזציה, מתקיני התוספים שלך ייכשלו כשתפעיל אותם. לקבלת פרטים נוספים, ראה InDesign ו-macOS 10.15 (Catalina). מכאן עולה הצורך בנוטריזציה של מתקינים/קבצים בינאריים של תוספים, למרות שתוספי InDesign אינם דורשים נוטריזציה או הוספה של חתימת קוד.
דרישות נוטריזציה
- חשבון מפתח של Apple
- Xcode 10 ומעלה
- סיסמה ספציפית לאפליקציה. להלן ההוראות לייצורו.
תהליך יצירת אישורים
- בקש אישור (תפריט Keychain Access > Certificate Assistant > בקש אישור מ-Certificate Authority)
- שמור את הקובץ .certSigningRequest בדיסק.
- היכנס אל פורטל המפתחים של Apple.
- לחץ על אישורים, מזהים ופרופילים.
- בחר יישום מזהה מפתח כדי ליצור אישור חדש.
- העלה את הקובץ .certSigningRequest משלב 1 והשלם את התהליך. הורד את ה-.cer המוצג לדיסק.
- בחר מתקין מזהה מפתח וחזור על שלבים 4-6.
- העלה את אותו הקובץ .certSigningRequest משלב 1 והשלם את התהליך. הורד את ה-.cer המוצג לדיסק.
- לחץ לחיצה כפולה על שני אישורי ה-.cer שנוצרו בשלבים 6 ו-8 כדי לייבא אותם אל Keychain.
שלבי נוטריזציה עבור קובצי .pkg או .dmg
דוגמה זו משתמשת בתוסף לדוגמה BasicDialog מה-SDK.
# הוספת חתימת קוד עבור .InDesignPlugin
codesign --sign "Developer ID Application: <Developer Name>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # אימות חתימת קוד
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # יש ליצור .pkg או .dmg ע"י הוספת .InDesignPlugin שלעיל שנוספה לו חתימת קוד לחבילה/למתקין
# חתום את המתקינים שלך (כמו .dmg או .pkg)
productsign --sign "Developer ID Installer: <Developer Name>" ./BasicDialog.pkg ./BasicDialogSIGN.pkg # אימות חתימת קוד
pkgutil --check-signature BasicDialogSigned.pkg # שלח לנוטריזציה
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # בדוק את סטטוס הנוטריזציה באופן מקוון (שלב 6 אמור להחזיר Request UID)
xcrun altool --notarization-info <Request UID> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # הוסף מהדק לקובץ שעבר נוטריזציה לשם שימוש לא מקוון
xcrun stapler staple BasicDialogSigned.pkg # בדוק אם המהדק נמצא במקומו
stapler validate --verbose BasicDialogSigned.pkg