Size: a a a

2021 September 13

m

maxxxxxxxx in Powershell Rus
чет я теперь склоняюсь что у меня серт неправильно сварен
источник

m

maxxxxxxxx in Powershell Rus
[Version]
Signature = "$Windows NT$"

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"

[NewRequest]
Subject = "cn=protect@cmsmessage"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"

[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
с таким работает
источник

m

maxxxxxxxx in Powershell Rus
# Your tenant name (can something more descriptive as well)
$TenantName        = "svc-db02-pwsh@local"

# Where to export the certificate without the private key
$CerOutputPath     = "{0}\svc-db02-pwsh@local.cer" -f (Split-Path $MyInvocation.MyCommand.Source)

# What cert store you want it to be in
$StoreLocation     = "Cert:\CurrentUser\My"

# Expiration date of the new certificate
$ExpirationDate    = (Get-Date).AddYears(50)


# Splat for readability
$CreateCertificateSplat = @{
   FriendlyName      = "for Encrypt CMS Data"
   DnsName           = $TenantName
   CertStoreLocation = $StoreLocation
   NotAfter          = $ExpirationDate
   Type = 'DocumentEncryptionCert'
   KeyExportPolicy   = "Exportable"
   KeyUsage = @('KeyEncipherment','DataEncipherment','KeyAgreement')
   KeySpec           = "Signature"
   Provider          = "Microsoft Enhanced RSA and AES Cryptographic Provider"
   HashAlgorithm     = "SHA256"
}
источник

m

maxxxxxxxx in Powershell Rus
с таким нет
источник

A

Aleksandr in Powershell Rus
Для New-SelfSignedCertificate должен быть указан 1.3.6.1.4.1.311.80.1 (szOID_DOCUMENT_ENCRYPTION) , через TextExtension
источник

m

maxxxxxxxx in Powershell Rus
$certSplat = @{
 DnsName = 'DocEncCert'
 KeyUsage = @('KeyEncipherment','DataEncipherment','KeyAgreement')
 Type = 'DocumentEncryptionCert'
 CertStoreLocation = 'Cert:\\CurrentUser\\My'
 NotAfter = (Get-Date).AddYears(2)
}
# Create the self-signed document encryption certificate
$cert = New-SelfSignedCertificate @certSplat
с такой конструкцией все робит, достаточно Type = 'DocumentEncryptionCert' почему то
источник

m

maxxxxxxxx in Powershell Rus
судя по всему
   KeySpec           = "Signature"
, дает права только на подпись
источник

АБ

Андрей Бритов... in Powershell Rus
Коллеги, подскажите строку импорта сертификата .pfx в раздел (Текущий Пользователь - Личное)
PS C:\1> CERTUTIL  -f -p 123456 -importpfx "test1.pfx" -user my

CertUtil: -importPFX команда НЕ ВЫПОЛНЕНА: 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)
CertUtil: Параметр задан неверно.
источник

S

Slaffka.Vlasov in Powershell Rus
Есть же import-pfx командлет
источник

S

Slaffka.Vlasov in Powershell Rus
Или чот похожее
источник

АБ

Андрей Бритов... in Powershell Rus
Там куча всего в Рут добавляю (корневые) в промежуточные тоже, а именно как мне надо не получается.
Не скармливается "My"
источник

S

Slaffka.Vlasov in Powershell Rus
источник

S

Slaffka.Vlasov in Powershell Rus
$mypwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below'

Import-PfxCertificate -FilePath C:\mypfx.pfx -CertStoreLocation Cert:\LocalMachine\My -Password $mypwd.Password
источник

S

Slaffka.Vlasov in Powershell Rus
Ток вместо local machine currentuser
источник

АБ

Андрей Бритов... in Powershell Rus
Так он запрашивает пароль
источник

АБ

Андрей Бритов... in Powershell Rus
Нужно через GPO прикрутить скрипт на 10000000 пользователей
источник

S

Slaffka.Vlasov in Powershell Rus
ну задай пароль
источник

S

Slaffka.Vlasov in Powershell Rus
или каждому свой надо?
источник

АБ

Андрей Бритов... in Powershell Rus
Есть запароленный .pfx
Нужно его установить на множество ПК.
Только на раздел: Текущий пользователь / Личное
Это можно (теоритически) через GPO + скрипт PS

Вот со скриптом и проблема.
Он лишнее ставит (по типу ещё в корневые)
Либо на Текущий Компьютер =(
источник

VG

Vasily Gusev in Powershell Rus
Это нормально без всяких скриптов делается...
источник