Domanda

Ho già chiesto domanda simile su questo tema su stack overflow già, ma credo che questa parte del problema può essere separato in una nuova domanda.

Non ho fatto lo sviluppo mobile, prima quindi l'uso della firma e certificati è un concetto nuovo per me, e per tutti la lettura di argomenti che ho fatto, non è davvero migliorato la mia conoscenza come ogni sito web che ho letto parla solo di una piccola parte della firma, non il processo completo, e mettendo tutto insieme è stato difficile.

Il problema che ho è il mio driver non è stato caricato all'avvio su WM6.1. Il suo conducente una per il GPS in modo deve essere caricato così la sua disposizione di qualsiasi software GPS accessibile su una porta COM. Credo che questo sia dovuto a un problema di firma, dato che il metodo DllMain non viene mai chiamato.

Mi è stato dato un certificato privilegiata (.pfx) per l'uso, e per la cronaca ho anche ottenuto il nuovo (gen 2010) certificato SDKSamplePrivDeveloper pure. Presumo un certificato privilegiata è necessaria per i conducenti.

Quindi cosa ho effettivamente fatto. Ho provato atleast diverse varianti su questo negli ultimi 4-5 giorni tutti senza successo.

In Visual Studio; 1) Il progetto DLL ha Authenticode firma insieme al nostro certificato .pfx. Il progetto.

2) Il progetto ha CABWizard Authenticode set per lo stesso certificato. Il progetto.

3) Seguire le istruzioni MSDN ... trasformato il .pfx in un Base64 certificato 509, e ha creato un XML provisioning file da esso .. E 'stato creato nel proprio file CAB o CPF. E anche provato provisioning il file _setup.xml nel file CAB creato in precedenza per cui il suo installato con l'applicazione.

4) Ho installato questi sul dispositivo, e mentre il driver funziona nella nostra applicazione di test non viene caricato al boot anche se le sue impostazioni di registro in "BuiltIn" siano corrette. Durante il controllo i negozi certificati nel Registro posso vedere il certificato aggiunto ai negozi SPC, Radice, privilegiati e non privilegiati. E quando si utilizza System | Certificati posso vedere il certificato di scheda Root. Quindi sono sicuramente stati aggiunti.

Dato quanto sopra non ha funzionato. Ho anche provato lo strumento siggner.exe da http://www.modaco.com/content/i8000-verizon-sch-i920-omnia-ii-http-i8000-modaco-com/306870 / sdkcerts-2010-e-firma-tool / con il certificato SDKSamplePrivDeveloper.

1) il progetto DLL ha Authenticode firma insieme al n Generare il progetto.

2) Caricare fino siggner.exe e firmare il file DLL con SDKSamplePrivDeveloper.cer.

3) Il progetto CABWizard ha impostato authenticode No. Il progetto.

4) Caricare fino siggner.exe e firmare il file CAB con SDKSamplePrivDeveloper.cer.

5) Uso NewSDKCerts.Cab per installare il certificato SDKSamplePrivDeveloper nei negozi.

6) Installare il file CAB che ho creato con il driver.

7) Di nuovo, un riavvio a caldo il driver non viene caricato all'avvio in Device.exe.

Ciò premesso, qualcuno può darmi alcune istruzioni chiare su un modo sicuro fuoco per caricare il driver in fase di avvio. Sono ovviamente facendo qualcosa di sbagliato con la sottoscrizione dato questo non avviarsi senza un problema in Windows CE5. So che il codice di driver di periferica è OK, come posso attivarlo manualmente in codice con ActiviateDevice () metodo WM6.1.

Modifica -

E 'forse vale la pena di aggiungere, ho anche creato una DLL e CAB senza firma a tutti. E su un avvio parziale del sistema operativo installato senza lamentarsi. Mentre ancora non si carica al boot mi aspettavo avvertimenti circa il CAB e DLL stato firmato.

È stato utile?

Soluzione

Il motivo per il fallimento del driver, non è stato un problema di certificato.

Il driver è stato originariamente autonomo e conteneva anche un codice della GUI, e da allora ha ampliato. Una libreria utilizzata per rendere l'applicazione a schermo intero non era disponibile a iniziare in modo silenziosamente riuscito con un problema di dipendenza.

Questa è attualmente stato risolto con un caricamento delle applicazioni di start-up in seguito per riattivare il conducente, una volta che la libreria è disponibile. Una soluzione adeguata da aggiungere è carico in ritardo della libreria necessaria per evitare un fallimento di dipendenza.

Altri suggerimenti

Il driver della firma era anche un problema in una questione correlata con questo driver. Ora abbiamo un certificato dal produttore per i conducenti segno in modo che problema è stato risolto così.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top