Skip to content

Commit c1f1649

Browse files
author
Bob Pokorny
committed
Fixed null error when testing for admin
Fixed tempfile left behind when using ssh
1 parent 8405f5e commit c1f1649

3 files changed

Lines changed: 204 additions & 156 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* Enhanced Crypto Service Provider (CSP) discovery and validation to work correctly on localized Windows installations. Customers running Traditional Chinese Windows (zh-TW / CP950) reported that certificate add jobs were failing with "Crypto Service Provider ... is either invalid or not found on this system." even when the requested CSP was installed. The root cause was that `Get-CryptoProviders` parsed `certutil -csplist` output and matched on the literal English label "Provider Name:", which is translated on non en-US Windows, causing the enumerated provider list to come back empty and every CSP name to fail validation. Provider enumeration now reads from the culture-invariant registry hive `HKLM:\SOFTWARE\Microsoft\Cryptography\Defaults\Provider` (with a code-page-safe `certutil` fallback for hardened systems where the registry hive is unavailable), and CSP name matching in `Validate-CryptoProvider` now uses ordinal, case-insensitive comparison so results are unaffected by the current thread culture (Turkish-I folding, full-/half-width character folding, etc.).
88
* Since adding JEA, lower privileged users can now run the extension in a local PowerShell Runspace without needing to be a member of the Administrators group. This is a security improvement, but it does require that the user has been granted access to the JEA endpoint on the target server. When running IIS jobs without JEA endpoints, the credentials entered will still need Administrative permissions. If you are running into permission issues, please check your JEA configuration and ensure that the user has been granted access to the endpoint.
99
* Fixed IIS Inventory error propagation across all connection types (Local, WinRM, JEA, SSH). Previously, when the cmdlet encountered errors (e.g., insufficient admin rights), it used Write-Warning/Write-Information which didn't signal failure to the orchestrator. Over remote sessions, PS.HadErrors remained false and jobs returned 0 certificates with no indication of failure, making it impossible to distinguish between "no certificates found" vs "access denied". The cmdlet now returns structured KeyfactorResult JSON objects for all error scenarios, which the orchestrator detects and reports in JobResult.FailureMessage. This ensures reliable error detection and reporting regardless of connection type (Local PowerShell, WinRM HTTP/HTTPS, JEA endpoints, SSH sessions).
10+
* Fixed a potential issue where temporary files created during a remote ssh connection could be left behind if the job failed before cleanup. The cmdlet now uses a try/finally block to ensure that temporary files are deleted even if an error occurs during execution.
1011

1112
3.0.2
1213

@@ -25,9 +26,9 @@
2526
* Fixed the SNI/SSL flag being returned during inventory, now returns extended SSL flags
2627
* Fixed the SNI/SSL flag when binding the certificate to allow for extended SSL flags
2728
* Added SSL Flag validation to make sure the bit flag is correct. These are the valid bit flags for the version of Windows:
29+
2830
### Windows Server 2012 R2 / Windows 8.1 and earlier (IIS 8.5)
2931

30-
3132
* 0 No SNI
3233
* 1 Use SNI
3334
* 2 Use Centralized SSL certificate store.

0 commit comments

Comments
 (0)