PowerShell รับข้อมูลใบรับรอง SSL
ใช้ไลบรารี [Net.HttpWebRequest] เพื่อสร้างการเชื่อมต่อกับ URI ของเว็บไซต์และ GetResponse() ที่มีข้อมูลใบรับรอง SSL เช่น หมายเลขอ้างอิง ผู้ออก หัวเรื่อง วันหมดอายุ ฯลฯ...
ในบทความนี้ เราจะพูดถึงวิธีการดึงรายละเอียดใบรับรอง SSL จากเว็บไซต์ใน PowerShell
PowerShell รับใบรับรอง SSL จาก URL
ใช้ไลบรารี [Net.HttpWebRequest] ที่มีเมธอด Create() ยอมรับ URL ของเว็บไซต์เป็นพารามิเตอร์อินพุตและสร้างการเชื่อมต่อคำขอเว็บไปยังเว็บไซต์
ใช้เมธอด GetResponse() เพื่อรับรายละเอียดใบรับรอง SSL จาก URL
[Net.ServicePointManager]::ServerCertificateValidationCallback={ $true } ใช้เพื่อละเว้นข้อผิดพลาดหรือคำเตือนใบรับรอง SSL ขณะทำการร้องขอเว็บไปยัง URI
เรียกใช้สคริปต์ PowerShell ต่อไปนี้เพื่อดึงข้อมูลใบรับรอง SSL จาก URL ของเว็บไซต์
#Ignore SSL Warning
[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
# Create Web Http request to URI
$uri = "https://google.com/"
$webRequest = [Net.HttpWebRequest]::Create($uri)
# Get URL Information
$webRequest.ServicePoint
# Retrieve the Information for URI
$webRequest.GetResponse() | Out-NULL
# Get SSL Certificate information
$webRequest.ServicePoint.Certificateในสคริปต์ PowerShell ข้างต้น จะใช้ [Net.HttpWebRequest] เพื่อสร้างคำขอเว็บ HTTP ไปยัง URI ของเว็บไซต์ และดึงข้อมูลคุณสมบัติ URI เช่น ที่อยู่, ConnectionName, ใบรับรอง ฯลฯ... ใน $webRequest< ตัวแปร
$webRequest.GetResponse() ดึงข้อมูลการตอบสนองสำหรับ URI และดึงรายละเอียดใบรับรอง เซิร์ฟเวอร์ ส่วนหัว และข้อมูลอื่น ๆ ที่เกี่ยวข้อง
$webRequest.ServicePoint.Certificate รับรายละเอียดใบรับรอง เช่น ผู้ออก หมายเลขจัดการ และรหัสประจำตัวใบรับรอง SSL
ผลลัพธ์ของสคริปต์ PowerShell ด้านบนเพื่อรับรายละเอียดใบรับรอง SSL จาก URL คือ:
PowerShell รับชื่อผู้ออกใบรับรอง SSL
ใบรับรอง SSL มีคุณสมบัติ ผู้ออก หรือเมธอด GetIssuerName() เพื่อดึงข้อมูลชื่อผู้ออกใบรับรอง SSL
เรียกใช้สคริปต์ PowerShell ต่อไปนี้เพื่อรับชื่อผู้ออกใบรับรอง SSL โปรดดูสคริปต์ PowerShell ด้านบนเพื่อสร้างคำขอทางเว็บไปยังเว็บไซต์และรับรายละเอียดใบรับรอง SSL
#Ignore SSL Warning
[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
# Create Web Http request to URI
$uri = "https://google.com/"
$webRequest = [Net.HttpWebRequest]::Create($uri)
# Get URL Information
$webRequest.ServicePoint
# Retrieve the Information for URI
$webRequest.GetResponse() | Out-NULL
# Get SSL Certificate Issuer Name
$webRequest.ServicePoint.Certificate | Select Issuer
# Use GetIssuerName() to obtain SSL certificate issuer name
$webRequest.ServicePoint.Certificate.GetIssuerName()ผลลัพธ์ของสคริปต์ PowerShell ข้างต้นดึงข้อมูลชื่อผู้ออกใบรับรอง SSL ตามที่ระบุด้านล่าง:
PS D:\> $webRequest.ServicePoint.Certificate | Select Issuer
Issuer
------
CN=GTS CA 1C3, O=Google Trust Services LLC, C=US
PS D:\> $webRequest.ServicePoint.Certificate.GetIssuerName() C=US, O=Google Trust Services LLC, CN=GTS CA 1C3ค้นหาชื่อเรื่องใบรับรอง SSL
ใบรับรอง SSL มีคุณสมบัติหัวเรื่องและวิธีการ GetName() ซึ่งใช้เพื่อรับชื่อเรื่องของใบรับรอง SSL
อ้างถึงสคริปต์ PowerShell ด้านบนที่สร้างคำขอเว็บไปยังเว็บไซต์และรับข้อมูลใบรับรอง SSL
# Get SSL Certificate Subject Name
$webRequest.ServicePoint.Certificate | Select Subject
# Use GetName() to obtain SSL certificate Subject name
$webRequest.ServicePoint.Certificate.GetName()สคริปต์ PowerShell ข้างต้นใช้คุณสมบัติ เรื่อง เพื่อดึงชื่อเรื่องของใบรับรอง SSL อีกวิธีหนึ่งคือใช้วิธี GetName() เพื่อรับชื่อเรื่องใบรับรอง SSL
ผลลัพธ์ของสคริปต์ด้านบนคือ:
PS D:\> $webRequest.ServicePoint.Certificate | Select Subject
Subject
-------
CN=www.google.com
PS D:\> $webRequest.ServicePoint.Certificate.GetName() CN=www.google.com
ค้นหาหมายเลขซีเรียลใบรับรอง SSL
ใช้วิธี GetSerialNumberString() ของใบรับรอง SSL เพื่อรับหมายเลขซีเรียลของใบรับรอง SSL
อ้างถึงสคริปต์ PowerShell ด้านบนที่สร้างคำขอเว็บไปยัง URL และรับรายละเอียดใบรับรอง
# Use GetName() to obtain SSL certificate SerialNumber
$webRequest.ServicePoint.Certificate.GetSerialNumberString()สคริปต์ PowerShell ข้างต้นใช้วิธี GetSerialNumberString() เพื่อรับหมายเลขซีเรียลของใบรับรอง SSL
ผลลัพธ์ของสคริปต์ด้านบนคือ:
PS D:\> $webRequest.ServicePoint.Certificate.GetSerialNumberString() 229AE03988E214FE0A531413A2A103BEเคล็ดลับเด็ด: วิธีตรวจสอบวันหมดอายุของใบรับรอง SSL ใน PowerShell!
บทสรุป
ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีรับข้อมูลใบรับรอง SSL ใน PowerShell จะเป็นประโยชน์กับคุณ
คุณสามารถดูหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และข้อมูลพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek
