Tanda pengesahan driver Windows

Artikel ini menjelaskan cara menandatangani driver dengan menggunakan penandatanganan pengesahan.

Nota

Driver yang ditandatangani dengan pengesahan dan menargetkan audiens ritel tidak dipublikasikan di Windows Update. Dukungan terus berlanjut untuk driver yang telah ditandatangani pengesahan saat Anda menguji skenario dengan opsi CoDev atau Test Registry Key / Surface SSRK.

Prasyarat

  • Baca dan pahami persyaratan untuk pengesahan driver yang ditandatangani untuk skenario pengujian.

  • Daftar untuk Program Pengembang Perangkat Keras. Jika Anda tidak terdaftar, ikuti langkah-langkah di Register untuk Program Pengembang Perangkat Keras Microsoft Windows.

  • Anda harus memiliki sertifikat penandatanganan kode validasi diperpanjang (EV). Periksa apakah organisasi Anda sudah memiliki sertifikat penandatanganan kode.

    • Jika Anda memiliki sertifikat yang sudah ada, buat sertifikat tersedia.

    • Jika organisasi Anda tidak memiliki sertifikat, beli sertifikat EV.

  • Unduh dan instal Kit Penilaian dan Penyebaran Windows (Windows ADK) dengan mengikuti proses yang dijelaskan dalam Unduh dan instal WINDOWS ADK.

  • (Opsional) Unduh sampel driver Echo digunakan dalam artikel ini, yang tersedia di GitHub.

Membuat file CAB

Prosedur berikut membuat pengiriman file CAB dengan menggunakan sampel driver Echo untuk mengilustrasikan langkah-langkahnya.

Pengiriman file CAB yang khas harus berisi komponen berikut:

  • Driver itu sendiri (misalnya, Echo.sys).

  • File driver INF (.inf) yang digunakan oleh dasbor untuk memfasilitasi proses penandatanganan.

  • File simbol yang digunakan untuk men-debug informasi, seperti Echo.pdb. File .pdb diperlukan untuk alat analisis crash otomatis Microsoft.

  • File katalog (.cat) diperlukan dan digunakan hanya untuk verifikasi perusahaan. Microsoft meregenerasi file katalog dan mengganti file katalog apa pun yang dikirimkan sebelumnya.

Nota

Setiap folder driver dalam file CAB Anda harus mendukung serangkaian arsitektur yang sama. Misalnya, mereka harus mendukung x86, x64, atau semuanya harus mendukung x86 dan x64.

Jangan gunakan jalur berbagi file UNC saat Anda mereferensikan lokasi driver Anda (\server\share). Anda harus menggunakan drive letter yang dipetakan agar CAB valid.

Untuk membuat file CAB, ikuti langkah-langkah berikut:

  1. Kumpulkan biner yang akan ditandatangani ke dalam satu direktori. Contoh ini menggunakan C:\Echo folder .

  2. Buka jendela Prompt Perintah dengan hak istimewa Administrator.

  3. Masukkan MakeCab /? perintah untuk melihat opsi perintah:

    C:\Echo> MakeCab /?
    Cabinet Maker - Lossless Data Compression Tool
    
    MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
    MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
    
    source         File to compress.
    destination    File name to give compressed file. If omitted, the
                   last character of the source file name is replaced
                   with an underscore (_) and used as the destination.
    /F directives  A file with MakeCAB directives (may be repeated). Refer to
                   Microsoft Cabinet SDK for information on directive_file.
    /D var=value   Defines variable with specified value.
    /L dir         Location to place destination (default is current directory).
    /V[n]          Verbosity level (1..3).
    
  4. Siapkan file input kerangka kerja deskripsi perangkat file CAB (DDF). Untuk driver Echo dalam contoh ini, input mungkin mirip dengan kode berikut:

    ;*** Echo.ddf example
    ;
    .OPTION EXPLICIT     ; Generate errors
    .Set CabinetFileCountThreshold=0
    .Set FolderFileCountThreshold=0
    .Set FolderSizeThreshold=0
    .Set MaxCabinetSize=0
    .Set MaxDiskFileCount=0
    .Set MaxDiskSize=0
    .Set CompressionType=MSZIP
    .Set Cabinet=on
    .Set Compress=on
    ;Specify file name for new cab file
    .Set CabinetNameTemplate=Echo.cab
    ; Specify the subdirectory for the files.
    ; Your cab file should not have files at the root level,
    ; and each driver package must be in a separate subfolder.
    .Set DestinationDir=Echo
    ;Specify files to be included in cab file
    C:\Echo\Echo.Inf
    C:\Echo\Echo.Sys
    
  5. Masukkan perintah berikut untuk membuat file CAB:

    C:\Echo> MakeCab /f "C:\Echo\Echo.ddf
    

    Output perintah MakeCab harus menampilkan jumlah file dalam file CAB yang dibuat. Dalam hal ini, harus ada dua file.

    C:\Echo> MakeCab /f Echo.ddf
    Cabinet Maker - Lossless Data Compression Tool
    
    17,682 bytes in 2 files
    Total files:              2
    Bytes before:        17,682
    Bytes after:          7,374
    After/Before:            41.70% compression
    Time:                     0.20 seconds ( 0 hr  0 min  0.20 sec)
    Throughput:              86.77 Kb/second
    
  6. Temukan file CAB di subdirektori Disk1 . Anda dapat memilih file CAB di File Explorer untuk memverifikasi bahwa file tersebut berisi file yang diharapkan.

Menandatangani file CAB dengan sertifikat EV Anda

Langkah selanjutnya adalah menandatangani file CAB dengan sertifikat EV Anda.

Gunakan proses yang direkomendasikan oleh penyedia sertifikat EV Anda. Misalnya, untuk menandatangani file CAB Anda dengan tanda waktu SHA256, masukkan perintah berikut:

C:\Echo> SignTool sign /s MY /n "Company Name" /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /v "C:\Echo\Disk1\Echo.cab"

Penting

Ingatlah untuk menggunakan praktik terbaik industri untuk mengelola keamanan proses penandatanganan kode EV.

Kirim file CAB yang ditandatangani EV di Pusat Mitra

Setelah menandatangani file CAB, Anda siap untuk mengirimkan file di Pusat Mitra:

  1. Buka dasbor perangkat keras Pusat Mitra, dan masuk dengan kredensial Anda.

  2. Pilih Kirim perangkat keras baru.

    Cuplikan layar daftar pengiriman perangkat keras.

  3. Di bagian Paket dan properti penandatanganan, masukkan nama produk untuk pengiriman driver Anda. Gunakan nama ini untuk mencari dan mengelola pengajuan driver Anda.

    Nota

    Nama ini terlihat saat Anda berbagi driver Anda dengan perusahaan lain.

  4. Biarkan kedua opsi penandatanganan pengujian tidak dicentang (tidak dipilih).

  5. Untuk opsi Tanda Tangan yang Diminta , pilih tanda tangan yang akan disertakan dalam paket driver Anda:

    Cuplikan layar yang memperlihatkan opsi untuk mengirimkan driver Echo untuk penandatanganan.

  6. Pilih Kirim di bagian bawah halaman.

  7. Setelah proses penandatanganan selesai, unduh driver yang ditandatangani dari dasbor perangkat keras.

Periksa bahwa driver ditandatangani dengan benar

Konfirmasikan bahwa driver Anda ditandatangani dengan benar dengan langkah-langkah berikut:

  1. Setelah Anda mengunduh file unggahan, ekstrak file driver.

  2. Buka jendela Prompt Perintah dengan hak istimewa Administrator.

  3. Masukkan perintah berikut untuk memverifikasi bahwa driver ditandatangani seperti yang diharapkan:

    C:\Echo> SignTool verify Echo.Sys
    
  4. Untuk mencantumkan informasi lain dan meminta SignTool memverifikasi semua tanda tangan dalam file dengan beberapa tanda tangan, masukkan perintah berikut:

     C:\Echo> SignTool verify /pa /ph /v /d Echo.Sys
    
  5. Untuk mengonfirmasi Enhanced Key Usages (EKUs) dari driver, selesaikan langkah-langkah berikut:

    1. Buka Windows Explorer dan temukan file biner. Klik kanan file dan pilih Properti.

    2. Pada tab Tanda Tangan Digital , pilih item yang tercantum di daftar tanda tangan.

    3. Pilih Detail, lalu pilih Tampilkan Sertifikat.

    4. Pada tab Rincian, pilih Penggunaan Kunci yang Ditingkatkan.

Driver menggunakan proses berikut ketika mencopot driver:

  1. Tambahkan tanda tangan tersemat Microsoft SHA-2.

  2. Jika biner driver disematkan ditandatangani oleh pelanggan dengan sertifikat mereka sendiri, timpa tanda tangan.

  3. Buat dan tanda tangani file katalog baru dengan sertifikat SHA-2 Microsoft. Katalog menggantikan katalog yang ada yang disediakan oleh pelanggan.

Uji driver Anda di Windows

Instal driver sampel dan uji di Windows:

  1. Buka jendela Prompt Perintah dengan hak istimewa Administrator.

  2. Buka folder paket driver Anda, dan masukkan perintah berikut.

    C:\Echo> devcon install echo.inf root\ECHO
    
  3. Konfirmasikan bahwa proses penginstalan driver tidak menampilkan pesan kesalahan berikut: "Windows tidak dapat memverifikasi penerbit perangkat lunak driver ini."

Membuat pengajuan dengan beberapa driver

Kirimkan beberapa driver secara bersamaan dengan mengikuti langkah-langkah berikut:

  1. Buat subdirektori untuk setiap driver.

    Diagram yang memperlihatkan contoh struktur direktori penandatanganan driver.

  2. Siapkan file input DDF CAB yang mengacu pada subdirektori. Untuk contoh ini, input mungkin mirip dengan kode berikut:

    ;*** Submission.ddf multiple driver example
    ;
    .OPTION EXPLICIT     ; Generate errors
    .Set CabinetFileCountThreshold=0
    .Set FolderFileCountThreshold=0
    .Set FolderSizeThreshold=0
    .Set MaxCabinetSize=0
    .Set MaxDiskFileCount=0
    .Set MaxDiskSize=0
    .Set CompressionType=MSZIP
    .Set Cabinet=on
    .Set Compress=on
    ;Specify file name for new cab file
    .Set CabinetNameTemplate=Echo.cab
    ;Specify files to be included in cab file
    ; First Driver
    .Set DestinationDir=DriverPackage1
    C:\DriverFiles\DriverPackage1\Driver1.sys
    C:\DriverFiles\DriverPackage1\Driver1.inf
    ; Second driver
    .Set DestinationDir=DriverPackage2
    C:\DriverFiles\DriverPackage2\Driver2.sys
    C:\DriverFiles\DriverPackage2\Driver2.inf