powershell 使用PowerShell从Web服务器检查证书签名算法。基于http://en-us.sysadmin中的Test-WebServerSSL cmdlet

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 使用PowerShell从Web服务器检查证书签名算法。基于http://en-us.sysadmin中的Test-WebServerSSL cmdlet相关的知识,希望对你有一定的参考价值。

function get-SSLSigningAlgorithm {
[CmdletBinding()]
    param(
        [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)]
        [string]$URL,
        [Parameter(Position = 1)]
        [ValidateRange(1,65535)]
        [int]$Port = 443,
        [Parameter(Position = 2)]
        [Net.WebProxy]$Proxy,
        [Parameter(Position = 3)]
        [int]$Timeout = 15000,
        [switch]$UseUserContext
    )
    $ConnectString = "https://$url`:$port"
    $WebRequest = [Net.WebRequest]::Create($ConnectString)
    $WebRequest.Proxy = $Proxy
    $WebRequest.Credentials = $null
    $WebRequest.Timeout = $Timeout
    $WebRequest.AllowAutoRedirect = $true
    [Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
    try {
		$Response = $WebRequest.GetResponse()
	}
    catch {
		Write-Error $_.Exception
		continue
	}
    if ($WebRequest.ServicePoint.Certificate -ne $null) {
        $Cert = [Security.Cryptography.X509Certificates.X509Certificate2]$WebRequest.ServicePoint.Certificate.Handle
		$properties = @{'SignatureAlgorithm'=$Cert.SignatureAlgorithm.FriendlyName;
                'CertExpiration'=$Cert.NotAfter;
                'FullCert'=$Cert}
		$object = New-Object -TypeName PSObject –Prop $properties
		Write-Output $object;
    } else {
        Write-Error $Error[0]
    }
}

以上是关于powershell 使用PowerShell从Web服务器检查证书签名算法。基于http://en-us.sysadmin中的Test-WebServerSSL cmdlet的主要内容,如果未能解决你的问题,请参考以下文章

将参数从批处理文件传递到 PowerShell 脚本

使用 PowerShell 将文件上传到 SFTP

Powershell:在 Windows 10 中获取 GPS 坐标 - 使用 Windows 位置 API?

powershell 使用powershell #powershell从zip文件中删除文件

每次出现powershell的窗口都太大了,怎么调小一点

从 Powershell ISE 和 Windows 资源管理器运行脚本的不同行为