Если вы используете следующие версии Windows или более поздние версии: Windows Server 2012, Windows Server 2012 R2 или Windows 8.1, тогда MakeCert теперь устарел и Microsoft рекомендует использовать Командлет PowerShell New-SelfSignedCertificate .
Если вы используете более старую версию, такую как Windows 7, вам нужно придерживаться MakeCert или другого решения. Некоторые люди предлагают модуль открытой инфраструктуры Infrastructure Powershell (PSPKI) .
. Хотя вы можете создать self- подписанный сертификат подписи кода (SPC - Software Publisher Certificate ), я предпочитаю делать следующее:
makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser ^
-a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer
(^ = разрешить командную строку командной строки)
Это создает самоподписанный (-r) сертификат с закрытым закрытым ключом (-pe). Он называется «Мой CA» и должен быть помещен в хранилище CA для текущего пользователя. Мы используем алгоритм SHA-256 .
Закрытый ключ должен храниться в файле MyCA.pvk, а сертификат в файле MyCA.cer.
Поскольку вам не нужно иметь сертификат CA, если вы ему не доверяете, вам нужно импортировать его в хранилище сертификатов Windows. Вы можете использовать оснастку MMC сертификатов, но из командной строки:
certutil -user -addstore Root MyCA.cer
makecert -pe -n "CN=My SPC" -a sha256 -cy end ^
-sky signature ^
-ic MyCA.cer -iv MyCA.pvk ^
-sv MySPC.pvk MySPC.cer
Это почти то же самое, что и выше, но мы предоставляем ключ и сертификат эмитента (переключатели -ic и -iv).
Мы также хотим преобразовать сертификат и ключ в PFX file:
pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx
Если вы хотите защитить файл PFX, добавьте ключ -po, иначе PVK2PFX создаст файл PFX без кодовой фразы.
signtool sign /v /f MySPC.pfx ^
/t http://timestamp.url MyExecutable.exe
( См., почему могут иметь значение временные метки )
Если вы импортируете файл PFX в хранилище сертификатов (вы можете использовать PVKIMPRT или snapin MMC ), вы можете подписать код следующим образом:
signtool sign /v /n "Me" /s SPC ^
/t http://timestamp.url MyExecutable.exe
Некоторые возможные временные URL-адреса для signtool /t
:
http://timestamp.verisign.com/scripts/timstamp.dll
http://timestamp.globalsign.com/scripts/timstamp.dll
http://timestamp.comodoca.com/authenticode
Для тех, кто не является разработчиками .NET, вам понадобится копия Windows SDK и .NET framework. Текущая ссылка доступна здесь: SDK & amp; .NET (который устанавливает makecert в C:\Program Files\Microsoft SDKs\Windows\v7.1
). Ваш пробег может отличаться.
MakeCert доступен из командной строки Visual Studio. Visual Studio 2015 имеет его, и его можно запустить из меню «Пуск» в Windows 7 в разделе «Командная строка разработчика для VS 2015» или «VS2015 x64 Native Tools Command Prompt» (возможно, все они в одной папке).
Есть два способа добиться этого:
1.Вы можете изменить свой тип данных поля в базе данных как datetime (Y-m-d) и изменить тип ввода datetime в том же формате. Поэтому, когда вы сохраняете и извлекаете данные, оба имеют один и тот же формат.
2.Вы можете изменить формат даты при получении данных, как показано ниже:
DATE_FORMAT(FROM_UNIXTIME(`date`), '%m/%d%y') AS 'datedata'
Затем вы можете использовать эту дату в элементе ввода даты и времени. Но, пожалуйста, обратите внимание, что при сохранении этой даты снова в базе данных, вам нужно снова изменить формат даты на метку времени. Надеюсь, это поможет вам.