Public/New-KeyPair.ps1
function New-KeyPair { [CmdletBinding()] param ( [Parameter(Mandatory = $false, Position = 0 )] [System.Security.Cryptography.RSACryptoServiceProvider]$cryptoServiceProvider ) begin { Write-Verbose "Cmdlet New-KeyPair - Begin" } process { Write-Verbose "Cmdlet New-KeyPair - Process" if ($cryptoServiceProvider -eq $null) { $cryptoServiceProvider = [System.Security.Cryptography.RSACryptoServiceProvider]::new(2048) } $privateKey = $cryptoServiceProvider.ExportParameters($true) $publicKey = $cryptoServiceProvider.ExportParameters($false) @{ 'public' = Get-KeyString $publicKey 'private' = Get-KeyString $privateKey } } end { Write-Verbose "Cmdlet New-KeyPair - End" } } |