Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 468
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Может поможет, написал код на powershell (использую CAPIlite для получения версии, но с виндой проблем не будет, за наводку спасибо @olin): Код:$lib = @"
[DllImport("/opt/cprocsp/lib/amd64/libcapi20.so", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool CryptAcquireContextA(
ref IntPtr phProv,
string pszContainer,
string pszProvider,
int dwProvType,
Int64 dwFlags
);
[DllImport("/opt/cprocsp/lib/amd64/libcapi20.so", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool CryptGetProvParam(
IntPtr hProv,
uint dwParam,
byte[] pbProvData,
ref uint pdwProvDataLen,
uint dwFlags
);
[DllImport("/opt/cprocsp/lib/amd64/libcapi20.so", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool CryptReleaseContext(
IntPtr phProv,
int flags
);
"@
Add-Type -MemberDefinition $lib -Namespace PKI -Name CSP
[IntPtr] $phProv = [IntPtr]::Zero
[PKI.CSP]::CryptAcquireContextA(
[ref]$phProv,
$null,
"Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider",
80,
(0xF0000000)
) | Out-Null
[byte[]]$PROV_PP_VERSION_EX = $null
[int]$PROV_PP_VERSION_EXLength = 0
[PKI.CSP]::CryptGetProvParam($phProv, 0x8A, $PROV_PP_VERSION_EX, [ref]$PROV_PP_VERSION_EXLength, 0x1) | Out-Null
$PROV_PP_VERSION_EX = [byte[]]::new($PROV_PP_VERSION_EXLength)
[PKI.CSP]::CryptGetProvParam($phProv, 0x8A, $PROV_PP_VERSION_EX, [ref]$PROV_PP_VERSION_EXLength, 0x1) | Out-Null
$CSPVersionBytes = $null
$CSPVersionBytesLength = 0
[PKI.CSP]::CryptGetProvParam($phProv, 0x5, $CSPVersionBytes, [ref]$CSPVersionBytesLength, 0x1) | Out-Null
$CSPVersionBytes = [byte[]]::new($CSPVersionBytesLength)
[PKI.CSP]::CryptGetProvParam($phProv, 0x5, $CSPVersionBytes, [ref]$CSPVersionBytesLength, 0x1) | Out-Null
Write-Host -Object "CSP Version: $([System.BitConverter]::ToInt16($CSPVersionBytes[1..0], 0)), minor version: $([System.BitConverter]::ToInt16($PROV_PP_VERSION_EX[0..3], 0))"
[PKI.CSP]::CryptReleaseContext($phProv, 0) | Out-Null
Отредактировано пользователем 7 марта 2023 г. 21:44:57(UTC)
| Причина: Не указана |
 1 пользователь поблагодарил TolikTipaTut1 за этот пост.
|
|