Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $minimumCertAgeDays = 60
- $timeoutMilliseconds = 10000
- $urls = @(
- 'https://stackoverflow.com',
- 'https://www.google.com',
- 'https://www.yahoo.com',
- 'https://www.apple.com',
- 'https://www.npr.org',
- 'https://www.twitter.com'
- )
- [Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
- foreach ($url in $urls)
- {
- Write-Host Checking $url -f Green
- $req = [Net.HttpWebRequest]::Create($url)
- $req.Timeout = $timeoutMilliseconds
- try {$req.GetResponse() |Out-Null} catch {Write-Host Exception while checking URL $url`: $_ -f Red}
- [datetime]$expiration = $req.ServicePoint.Certificate.GetExpirationDateString()
- [int]$certExpiresIn = ($expiration - $(get-date)).Days
- $certName = $req.ServicePoint.Certificate.GetName()
- $certPublicKeyString = $req.ServicePoint.Certificate.GetPublicKeyString()
- $certSerialNumber = $req.ServicePoint.Certificate.GetSerialNumberString()
- $certThumbprint = $req.ServicePoint.Certificate.GetCertHashString()
- $certEffectiveDate = $req.ServicePoint.Certificate.GetEffectiveDateString()
- $certIssuer = $req.ServicePoint.Certificate.GetIssuerName()
- if ($certExpiresIn -gt $minimumCertAgeDays)
- {Write-Host Cert for site $url expires in $certExpiresIn days [on $expiration] -f Green}
- else
- {
- Write-Host Cert for site $url expires in $certExpiresIn days [on $expiration] Threshold is $minimumCertAgeDays days. `
- Check details:`n`nCert name: $certName`nCert public key: $certPublicKeyString`nCert serial number: $certSerialNumber`nCert thumbprint: $certThumbprint`nCert effective date: $certEffectiveDate`nCert issuer: $certIssuer -f Red
- }
- rv req
- rv expiration
- rv certExpiresIn
- "`n" + '*'*20
- }
- # Results
- Checking https://stackoverflow.com
- Cert for site https://stackoverflow.com expires in 393 days [on 08/14/2019 05:00:00]
- ********************
- Checking https://www.google.com
- Cert for site https://www.google.com expires in 42 days [on 08/28/2018 04:31:00] Threshold is 60 days. Check details:
- Cert name: C=US, S=California, L=Mountain View, O=Google LLC, CN=www.google.com
- Cert public key: 047F1815EB7E9DC83576534205AB3020C808BFFB94682BF15EE3F1E49B4C290F8C7BD125D6139F0CAFB424B7860A40FF8255889BB5F641AED8B93F628165B2C293
- Cert serial number: 222BCCCFCA145C3E
- Cert thumbprint: DC6D32F5994C4E37D3CCDB285903569D387C5456
- Cert effective date: 19-Jun-18 04:38:49
- Cert issuer: C=US, O=Google Trust Services, CN=Google Internet Authority G3
- ********************
- Checking https://www.yahoo.com
- Cert for site https://www.yahoo.com expires in 39 days [on 08/25/2018 05:00:00] Threshold is 60 days. Check details:
- Cert name: C=US, S=CA, L=Sunnyvale, O="Yahoo Holdings, Inc.", CN=*.www.yahoo.com
- Cert public key: 3082010A0282010100EA699A07DFBC6EFCCA827E0B34511CEE4DC4D8475295642092F458C17A3C3615866D846D50B93A1CA6C757F76A4E48BFE0602D3AB599DEA6A26ACECAB46E2FB4E74054821893AE2B
- 25106C6F296BA43166CB13FD01D1C0CAE158A83622978F191D1FFE9FB593205E138C26802C70997BC61613FF54FB09E34DC95B97EA67A6B8CBB079F126A227BC7476128B7595D3F47B9DA2B0F377C3A8DF759F98A79799268C8
- B34323DF1B5D242AD7C1AE7D2CF70D3E3C619441551EA35F16B5EECD78BD7CD9C8EA59773FB94FA13052B1B01D184B39B0D4DB24F66919A13CD72DB3A1DCAB14707688A81D6A0EF32865AC6436DB706985DE87CFE78B18E0728
- 0B4BF8305D0203010001
- Cert serial number: 0DA29AD9524C1F4FF3FB763BBE52B1AC
- Cert thumbprint: AE699D5EBDDCE6ED574111262F19BB18EFBE73B0
- Cert effective date: 25-Feb-18 16:00:00
- Cert issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA
- ********************
- Checking https://www.apple.com
- Cert for site https://www.apple.com expires in 251 days [on 03/25/2019 05:00:00]
- ********************
- Checking https://www.npr.org
- Cert for site https://www.npr.org expires in 485 days [on 11/14/2019 15:59:59]
- ********************
- Checking https://www.twitter.com
- Cert for site https://www.twitter.com expires in 265 days [on 04/08/2019 05:00:00]
- ********************
Add Comment
Please, Sign In to add comment