Если у вас есть базовые знания о PKI и X.509, вы можете сделать это с помощью openssl.
В Openssl предварительно настроен CA.pl или сценарий CA.sh , которые можно использовать для настройки CA и создания сертификатов с минимальной конфигурацией.
Основные команды:
# generate CA (need to do it only once)
CA.sh -newca
# create certificate request
openssl req -new -keyout user.key -out user.req -config yourconf.cnf
# sign request by CA
openssl ca -policy policy_anything -config yourconf.cnf -out user.pem -infiles user.req
# convert it into PKCS#12 (pfx) container, that can be used from various soft
openssl pkcs12 -export -in user.pem -inkey user.key -out user.p12 -name user -caname your_ca_name -chain -CAfile ./demoCA/cacert.pem
yourconf.cnf - это основной файл конфигурации, основанный на openssl.cnf по умолчанию, включенном в openssl.Чтобы сделать ваш сертификат пригодным для подписи кода, вы должны указать его в разрешенных полях использования ключа, например: (он ограничит ваш сертификат только подписью кода):
[ usr_cert ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature
extendedKeyUsage = codeSigning
[ v3_req ]
keyUsage = digitalSignature
extendedKeyUsage = codeSigning
Чтобы использовать этот сертификат в Windows, вы должны установитьваш сертификат CA в хранилище сертификатов windows в качестве центра сертификации.Вы должны делать это на каждом рабочем месте, где вы хотите проверить знаки на ваших файлах.