OS X 10.8 Gatekeeper e Applet Java
-
11-12-2019 - |
Domanda
Con la nuova versione di OS X 10.8, il gatekeeper popupà il seguente avviso, quando si tenta di avviare un'applet Java firmato:
L'applet è stata firmata con un certificato di firma del codice valido e funzionerà correttamente su altre piattaforme e le versioni precedenti di OS X. Se cambio "Consenti alle applicazioni scaricate da:" A "Anywhere", funziona correttamente. .
Per quanto posso capire "La firma digitale non può essere verificata", in realtà significa qualcosa come "La firma non è stata effettuata con un ID per sviluppatori Mac".
Allora: Posso firmare le applet Java con un ID sviluppatore Mac?Posso firmarlo con un ID sviluppatore Mac e un certificato di firma del codice standard?C'è un approccio migliore?
Soluzione
Ecco la risposta che ho ricevuto dal supporto tecnico dello sviluppatore Apple:
.Grazie per la tua pazienza mentre abbiamo studiato questo.
L'avviso è presentato da Java, non da Gatekeeper. Tuttavia, tu sei Correggere che la logica di verifica è stata cambiata su OS X Mountain Lion.
Per un po 'ora, gli utenti sono stati presentati con questo avviso quando Esecuzione di un'applet firmata, perché le applet firmate possono sfuggire alla Java Sandbox e apportare modifiche impreviste al sistema dell'utente. Gli utenti hanno L'opzione per controllare la casella "Consenti tutte le applet da" se Si fidano dello sviluppatore e quindi non vedranno di nuovo l'avviso A meno che non rimuovano l'oggetto dalle preferenze di sicurezza Java.
Cosa è cambiato in Mountain Lion è che l'avviso di verifica ora fondamentalmente significa che la firma dell'applet è valida, ma l'applet è da uno sviluppatore non identificato e sta cercando di intensificare i privilegi Quando il gatekeeper è abilitato e l'utente deve decidere se consentire quello.
"Sviluppatore non identificato" indica una fonte diversa dall'app store Mac o uno sviluppatore identificato ID sviluppatore. Si noti che le applet Java non possono partecipare al programma ID sviluppatore.
Se Gatekeeper è impostato per fidarsi solo delle app Mac App Store, allora lo farai non essere in grado di aggiungere l'applet alla lista attendibile a meno che non aggiungi il Certificato di Applet al portachiavi usando il foglio visualizzato Dopo aver fatto clic su Mostra dettagli.
App le applet non firmate non è permesso sfuggire alla sandbox Java affatto.
Questo è coerente con il trattamento dei gatekeeper delle app Mac native; Le app da sviluppatori non identificati non sono autorizzati a funzionare per impostazione predefinita.
Se desideri vedere la formulazione dell'allert modificata, si prega di file a Bug Report at https://developer.apple.com/bugreporter .
Questo significa fondamentalmente che non c'è modo di firmare l'applet in modo tale da poter evitare questo messaggio da mostrare. Ho presentato un segnale di bug a Apple dicendo che voglio che la formulazione del messaggio sia cambiata di non contenere parole come non identificate, non verificate, insicure ... perché è l'intero punto di firmare le applet, in modo che gli utenti possano sentirsi tutti caldi e accogliente all'interno quando hanno bisogno di consentire all'applet di funzionare, per assicurarli che ciò che stanno per consentire è ok e verificato e non farà alcun danno al loro computer, e dobbiamo mostrarlo in un posto dove sarà visibile, per colpire gli occhi con esso.
Altri suggerimenti
hai risposto alla tua domanda. Il gatekeeper ritiene che i certificati / le firme non emessi da Apple non siano fidati.
Documentazione Apple ti dirà come esportare il tuo certificato.Puoi quindi usarlo come al solito. CodSign Comando potrebbe anche fare il trucco.