Private/New-NSPSslRsa.ps1
|
function New-NSPSslRsa { # A throwaway RSA object for a key: new (-KeySize) or from RSAParameters. Never persisted to a key # container; dispose it when done. [CmdletBinding(DefaultParameterSetName = 'New')] [OutputType([System.Security.Cryptography.RSA])] param( [Parameter(Mandatory, ParameterSetName = 'New')][int]$KeySize, [Parameter(Mandatory, ParameterSetName = 'Import')][System.Security.Cryptography.RSAParameters]$Parameters ) if ($PSCmdlet.ParameterSetName -eq 'New') { $rsa = New-Object System.Security.Cryptography.RSACryptoServiceProvider $KeySize } else { $rsa = New-Object System.Security.Cryptography.RSACryptoServiceProvider $rsa.ImportParameters($Parameters) } $rsa.PersistKeyInCsp = $false $rsa } |