Não há necessidade no OpenSSL no Windows. No Windows 7, você pode usar meu próprio script do PowerShell que publiquei na Galeria de scripts do TechNet: certificado auto-assinado gerador (PowerShell) . O uso pode ser algo assim:
New-SelfsignedCertificateEx -Subject "CN=Test Code Signing" '
-EKU "Code Signing" '
-KeySpec "Signature" '
-KeyUsage "DigitalSignature" '
-FriendlyName "Test code signing"
-NotAfter $([datetime]::now.AddYears(5))
(primeiro exemplo).
A partir do Windows 8, você pode usar a ferramenta certreq.exe
incorporada para gerar o certificado. Crie o arquivo INF com a configuração cert, por exemplo:
[NewRequest]
Subject = "CN=Test Code Signing"
KeyLength = 2048
KeyAlgorithm = RSA
ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider"
MachineKeySet = false
Exportable = true
KeySpec = 2
KeyUsage = 0x80
RequestType = Cert
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.3 ; Code signing
e, em seguida, execute o seguinte comando:
Certreq –new path\inffilename.inf
Isso gerará e instalará o certificado no armazenamento de certificados do usuário atual.
A partir do Windows 10, você pode usar o cmdlet do PowerShell integrado da seguinte forma:
New-SelfSignedCertificate -CertStoreLocation cert:\currentuser\my '
-Subject "CN=Test Code Signing" '
-KeyAlgorithm RSA '
-KeyLength 2048 '
-Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" '
-KeyExportPolicy Exportable '
-KeyUsage DigitalSignature '
-Type CodeSigningCert
No entanto, o uso de certificado autoassinado para assinatura de código em ambientes de produção é dessolvido. Você deve usá-los somente em ambientes de teste.
Para uso privado (somente na organização), você deve verificar se a empresa já possui infra-estrutura PKI e entrar em contato com o pessoal apropriado para receber o certificado de assinatura de código aprovado pela empresa.
Para scripts públicos (você vai distribuir junto com pacotes de software ou distribuir scripts para seus clientes), sugiro comprar a assinatura de código do provedor de CA comercialmente confiável do mundo.