none
Using WinIO to read/write port value on Win7 x64 OS RRS feed

  • Question

  • Dear all,

    I had used the WinIO to read/Write port value, and it can work on Win7 32 bit.

    When I change to x64 OS, it can complier success, but can not work.

    If I disable the sign check before login to OS, the AP can work normal.

    I think that's because the WinIO did not have the sign.

    How should I do to make the AP that using WinIO function can work normal on Win7 x64?

     

    The WinIO source code is download from below web.

    WinIO web:http://www.internals.com/

    Thursday, July 21, 2011 2:44 AM

Answers

  • jarvis.chen wrote:
    >
    >I had used the WinIO to read/Write port value, and it can work on Win7
    >32 bit.
    >When I change to x64 OS, it can complier success, but can not work.
    >If I disable the sign check before login to OS, the AP can work normal.
    >I think that's because the WinIO did not have the sign.
    >How should I do to make the AP that using WinIO function can work normal
    >on Win7 x64?
     
    You can disable the driver signing requirement at every boot.  Otherwise,
    you'll have to sign the driver.  It will cost you about $100 to get a
    certificate.  Does the original author have a signed binary you can use?
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Thursday, July 21, 2011 5:25 AM
  • jarvis.chen wrote:
    >
    >After I add my company's sign with the files(signcode.exe,
    >mycredentials.spc,myprivatekey.pvk),  I had try several times to add
    >the cross certificate with all the cross certificates, but is show
    >below message.
    >
    >command: Signtool sign /a /ac MSCV-VSClass3 WinIo.sys
    >
    >error message: The provided cross certificate would not be present
    >in the certificate chain.
    >
    >Is anything wrong?
     
    Of couse there is.  What's wrong is that you aren't reading the
    documentation, or our suggestions.
     
    1. You need to tell signtool how to find YOUR certificate.
    2. You need to specify the cross-certificate.
    3. You need to have a timestamp.
     
    You do #1 with the /n or the /sha1 parameters.  You do #2 with the /ac
    parameter, which you have above.  You do #3 with the /t parameter.
     
        signtool sign
            /n "My Company"
            /ac MSVC-VSClass3.cer
            WinIo.sys
     
    If you still get the "cross certificate would not be present", then your
    company certificate is not the right kind of certificate.  It has to be a
    Class 3 Code Signing certificate -- a very specific type.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Sunday, July 31, 2011 2:03 AM

All replies

  • jarvis.chen wrote:
    >
    >I had used the WinIO to read/Write port value, and it can work on Win7
    >32 bit.
    >When I change to x64 OS, it can complier success, but can not work.
    >If I disable the sign check before login to OS, the AP can work normal.
    >I think that's because the WinIO did not have the sign.
    >How should I do to make the AP that using WinIO function can work normal
    >on Win7 x64?
     
    You can disable the driver signing requirement at every boot.  Otherwise,
    you'll have to sign the driver.  It will cost you about $100 to get a
    certificate.  Does the original author have a signed binary you can use?
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Thursday, July 21, 2011 5:25 AM
  • Thanks for the reply.

    The author only had test sign.

    The winIO.sys driver is used of our AP.

    It can not install in device management ,and it would not have INF file.

    How could I test WHQL?

     

     

    Thursday, July 21, 2011 6:44 AM
  • jarvis.chen wrote:
    >
    >The author only had test sign.
    >
    >The winIO.sys driver is used of our AP.
    >
    >It can not install in device management ,and it would not have INF file.
    >
    >How could I test WHQL?
     
    You can't WHQL a legacy driver.  That's good, because it's expensive.
     
    YOU have to sign the driver.  To do that, you need to have a Class 3
    Code-Signing Certificate from one of the Microsoft-approved certificate
    authorities.  For now, that means either Verisign, or GlobalSign, or
    Thawte.  Then you need to download a "cross-certificate", which is
    basically Microsoft's blessing of the authority.  Then, you just use the
    "signtool" command from the DDK to add your signature.
     
    Here's a tutorial on the process:
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Saturday, July 23, 2011 4:46 AM
  • Hi Tim,

    After I add the sign to the WinIO.sys file, did the system need to change to Test mode?

    I had add Verisign to the file, but it can not use in the normal OS.

    I still don't know how to fix it.

    Monday, July 25, 2011 1:35 PM
  • If your signing it with a Verisign or Thawte Class-3 code signing certificate no.
    Gary G. Little NanoTelesis Systems, LLC
    Monday, July 25, 2011 8:44 PM
  • I had using signcode.exe, mycredentials.spc and mycredentials.pvk of my company to sign WinIO.sys, but it still can not using in the normal Win7 x64 OS.

    I had download cross-certificate(MSCV-VSClass3.cer/MSCV-GlobalSign.cer).

    How could I add it to the sys file?

     


    Tuesday, July 26, 2011 1:08 AM
  • jarvis.chen wrote:
    >
    >I had using signcode.exe, mycredentials.spc and mycredentials.pvk of my
    >company to sign WinIO.sys, but it still can not using in the normal Win7 x64 OS.
    >
    >I had download cross-certificate(MSCV-VSClass3.cer/MSCV-GlobalSign.cer).
    >
    >How could I add it to the sys file?
     
    If you aren't going to read any of the references we provide, it is really,
    really hard for us to feel an incentive to help you.
     
    You use the /ac parameter on the "signtool sign" command to add the cross
    certificate.  Make sure you use the cross certificate that matches your
    certificate.  Signtool will tell you if there is a mismatch.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Wednesday, July 27, 2011 5:42 AM
  • Hi Tim,

    I'm sorry that I did not describe more information.

    Last time I had use the command to add MSCV-VSClass3.cer.

    Signtool sign /v /s MSCV-VSClass3 /n MSCV-VSClass3 /t http://timestamp.verisign.com/scripts/timestamp.dll WinIo.sys

    Maybe I use the wrong command.

    I will try to use the function that you teached.

    Signtool sign /ac MSCV-VSClass3 /t http://timestamp.verisign.com/scripts/timestamp.dll WinIo.sys

    Is that right?

     


    Wednesday, July 27, 2011 7:52 AM
  • jarvis.chen wrote:
    >
    >I'm sorry that I did not describe more information.
    >
    >Last time I had use the command to add MSCV-VSClass3.cer.
    >
    >Signtool sign /v /s MSCV-VSClass3 /n MSCV-VSClass3 /t http://timestamp.verisign.com/scripts/timestamp.dll WinIo.sys
    >
    >Maybe I use the wrong command.
     
    Yes, you used the wrong command.  That will sign the binary with the
    cross-certificate ONLY.
     
    >I will try to use the function that you teached.
    >
    >Signtool sign /ac MSCV-VSClass3 /t http://timestamp.verisign.com/scripts/timestamp.dll WinIo.sys
    >
    >Is that right?
     
    No.  You need to sign it with YOUR certificate, and IN ADDITION use the /ac
    parameter to specify the matching cross certificate.  You will have a /n or
    /sha1 parmeter to identify YOUR certificate, and a /ac parameter to
    identify the matching cross certificate.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Friday, July 29, 2011 3:58 AM
  • Hi Tim,

    After I add my company's sign with the files(signcode.exe,mycredentials.spc,myprivatekey.pvk),  I had try several times to add the cross certificate with all the cross certificates, but is show below message.

    command: Signtool sign /a /ac MSCV-VSClass3 WinIo.sys

    error message: The provided cross certificate would not be present in the certificate chain.

    Is anything wrong?


    Friday, July 29, 2011 6:04 AM
  • jarvis.chen wrote:
    >
    >After I add my company's sign with the files(signcode.exe,
    >mycredentials.spc,myprivatekey.pvk),  I had try several times to add
    >the cross certificate with all the cross certificates, but is show
    >below message.
    >
    >command: Signtool sign /a /ac MSCV-VSClass3 WinIo.sys
    >
    >error message: The provided cross certificate would not be present
    >in the certificate chain.
    >
    >Is anything wrong?
     
    Of couse there is.  What's wrong is that you aren't reading the
    documentation, or our suggestions.
     
    1. You need to tell signtool how to find YOUR certificate.
    2. You need to specify the cross-certificate.
    3. You need to have a timestamp.
     
    You do #1 with the /n or the /sha1 parameters.  You do #2 with the /ac
    parameter, which you have above.  You do #3 with the /t parameter.
     
        signtool sign
            /n "My Company"
            /ac MSVC-VSClass3.cer
            WinIo.sys
     
    If you still get the "cross certificate would not be present", then your
    company certificate is not the right kind of certificate.  It has to be a
    Class 3 Code Signing certificate -- a very specific type.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP Providenza & Boekelheide, Inc.
    Sunday, July 31, 2011 2:03 AM