forked from OCram85/PSCredentialStore
fix lint (PSScriptAnalyzer) issues (#62)
#### 📖 Summary <!-- Provide a summary of your changes. Describe the why and not how. --> #### 📑 Test Plan > 💡 Select your test plan for the code changes. - [x] Tested via Drone.io pipeline - [ ] Custom test - [ ] No test plan ##### Details / Justification <!-- Add your test details or justification for missing tests here. --> #### 📚 Additional Notes <!-- A place for additional detail notes. --> Co-authored-by: OCram85 <marco.blessing@googlemail.com> Reviewed-on: OCram85/PSCredentialStore#62
This commit is contained in:
@ -36,6 +36,11 @@ function New-CredentialStoreItem {
|
||||
#>
|
||||
|
||||
[CmdletBinding(DefaultParameterSetName = 'Private')]
|
||||
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
|
||||
'PSUseShouldProcessForStateChangingFunctions',
|
||||
'',
|
||||
Justification = 'Adds data into an existing object/file'
|
||||
)]
|
||||
param (
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Shared')]
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Private')]
|
||||
@ -109,7 +114,7 @@ function New-CredentialStoreItem {
|
||||
$Cert = Get-PfxCertificate -FilePath $CSContent.PfxCertificate -ErrorAction Stop
|
||||
}
|
||||
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -Membertype Properties) {
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -MemberType Properties) {
|
||||
$MessageParams = @{
|
||||
Message = 'The given host already exists. Nothing to do here.'
|
||||
}
|
||||
@ -123,9 +128,20 @@ function New-CredentialStoreItem {
|
||||
Password = ConvertFrom-SecureString -SecureString $Credential.Password -Key $RSAKey
|
||||
Created = $CurrentDate
|
||||
LastChange = $null
|
||||
EncryptedKey = [Convert]::ToBase64String($Cert.PublicKey.Key.Encrypt($RSAKey, [System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1))
|
||||
EncryptedKey = [Convert]::ToBase64String(
|
||||
$Cert.PublicKey.Key.Encrypt(
|
||||
$RSAKey,
|
||||
[System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1
|
||||
)
|
||||
)
|
||||
}
|
||||
Add-Member -InputObject $CSContent -Name $CredentialName -MemberType NoteProperty -Value $CredentialHash
|
||||
$MemberParams = @{
|
||||
InputObject = $CSContent
|
||||
Name = $CredentialName
|
||||
MemberType = 'NoteProperty'
|
||||
Value = $CredentialHash
|
||||
}
|
||||
Add-Member @MemberParams
|
||||
try {
|
||||
ConvertTo-Json -InputObject $CSContent | Out-File -FilePath $Path
|
||||
}
|
||||
|
@ -40,6 +40,11 @@ function Remove-CredentialStoreItem {
|
||||
#>
|
||||
|
||||
[CmdletBinding(DefaultParameterSetName = 'Private')]
|
||||
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
|
||||
'PSUseShouldProcessForStateChangingFunctions',
|
||||
'',
|
||||
Justification = 'Removes data from existing store.'
|
||||
)]
|
||||
param (
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Private')]
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Shared')]
|
||||
@ -90,7 +95,7 @@ function Remove-CredentialStoreItem {
|
||||
$CredentialName = $RemoteHost
|
||||
}
|
||||
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -Membertype NoteProperty) {
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -MemberType NoteProperty) {
|
||||
# We need to use the .NET Method because there is no easier way in PowerShell.
|
||||
$CSContent.PSObject.Properties.Remove($CredentialName)
|
||||
ConvertTo-Json -InputObject $CSContent -Depth 5 | Out-File -FilePath $Path -Encoding utf8
|
||||
|
@ -37,6 +37,11 @@ function Set-CredentialStoreItem {
|
||||
#>
|
||||
|
||||
[CmdletBinding(DefaultParameterSetName = 'Private')]
|
||||
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
|
||||
'PSUseShouldProcessForStateChangingFunctions',
|
||||
'',
|
||||
Justification = 'Updates existing credential object.'
|
||||
)]
|
||||
param (
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Private')]
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'Shared')]
|
||||
@ -105,10 +110,14 @@ function Set-CredentialStoreItem {
|
||||
$Cert = Get-PfxCertificate -FilePath $CSContent.PfxCertificate -ErrorAction Stop
|
||||
}
|
||||
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -Membertype Properties) {
|
||||
if (Get-Member -InputObject $CSContent -Name $CredentialName -MemberType Properties) {
|
||||
$RSAKey = Get-RandomAESKey
|
||||
$CSContent.$CredentialName.User = $Credential.UserName
|
||||
$CSContent.$CredentialName.Password = ConvertFrom-SecureString -SecureString $Credential.Password -Key $RSAKey
|
||||
$ConvertParams = @{
|
||||
SecureString = $Credential.Password
|
||||
Key = $RSAKey
|
||||
}
|
||||
$CSContent.$CredentialName.Password = ConvertFrom-SecureString @ConvertParams
|
||||
$CSContent.$CredentialName.LastChange = $CurrentDate
|
||||
$CSContent.$CredentialName.EncryptedKey = [Convert]::ToBase64String(
|
||||
$Cert.PublicKey.Key.Encrypt(
|
||||
|
Reference in New Issue
Block a user