Guest User

Untitled

a guest
Jul 16th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. $minimumCertAgeDays = 60
  2. $timeoutMilliseconds = 10000
  3.  
  4. $urls = @(
  5. 'https://stackoverflow.com',
  6. 'https://www.google.com',
  7. 'https://www.yahoo.com',
  8. 'https://www.apple.com',
  9. 'https://www.npr.org',
  10. 'https://www.twitter.com'
  11. )
  12.  
  13. [Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
  14.  
  15. foreach ($url in $urls)
  16. {
  17. Write-Host Checking $url -f Green
  18.  
  19. $req = [Net.HttpWebRequest]::Create($url)
  20. $req.Timeout = $timeoutMilliseconds
  21.  
  22. try {$req.GetResponse() |Out-Null} catch {Write-Host Exception while checking URL $url`: $_ -f Red}
  23.  
  24. [datetime]$expiration = $req.ServicePoint.Certificate.GetExpirationDateString()
  25. [int]$certExpiresIn = ($expiration - $(get-date)).Days
  26.  
  27. $certName = $req.ServicePoint.Certificate.GetName()
  28. $certPublicKeyString = $req.ServicePoint.Certificate.GetPublicKeyString()
  29. $certSerialNumber = $req.ServicePoint.Certificate.GetSerialNumberString()
  30. $certThumbprint = $req.ServicePoint.Certificate.GetCertHashString()
  31. $certEffectiveDate = $req.ServicePoint.Certificate.GetEffectiveDateString()
  32. $certIssuer = $req.ServicePoint.Certificate.GetIssuerName()
  33.  
  34. if ($certExpiresIn -gt $minimumCertAgeDays)
  35. {Write-Host Cert for site $url expires in $certExpiresIn days [on $expiration] -f Green}
  36. else
  37. {
  38. Write-Host Cert for site $url expires in $certExpiresIn days [on $expiration] Threshold is $minimumCertAgeDays days. `
  39. 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
  40. }
  41. rv req
  42. rv expiration
  43. rv certExpiresIn
  44. "`n" + '*'*20
  45. }
  46.  
  47. # Results
  48.  
  49.  
  50. Checking https://stackoverflow.com
  51. Cert for site https://stackoverflow.com expires in 393 days [on 08/14/2019 05:00:00]
  52.  
  53. ********************
  54. Checking https://www.google.com
  55. Cert for site https://www.google.com expires in 42 days [on 08/28/2018 04:31:00] Threshold is 60 days. Check details:
  56.  
  57. Cert name: C=US, S=California, L=Mountain View, O=Google LLC, CN=www.google.com
  58. Cert public key: 047F1815EB7E9DC83576534205AB3020C808BFFB94682BF15EE3F1E49B4C290F8C7BD125D6139F0CAFB424B7860A40FF8255889BB5F641AED8B93F628165B2C293
  59. Cert serial number: 222BCCCFCA145C3E
  60. Cert thumbprint: DC6D32F5994C4E37D3CCDB285903569D387C5456
  61. Cert effective date: 19-Jun-18 04:38:49
  62. Cert issuer: C=US, O=Google Trust Services, CN=Google Internet Authority G3
  63.  
  64. ********************
  65. Checking https://www.yahoo.com
  66. Cert for site https://www.yahoo.com expires in 39 days [on 08/25/2018 05:00:00] Threshold is 60 days. Check details:
  67.  
  68. Cert name: C=US, S=CA, L=Sunnyvale, O="Yahoo Holdings, Inc.", CN=*.www.yahoo.com
  69. Cert public key: 3082010A0282010100EA699A07DFBC6EFCCA827E0B34511CEE4DC4D8475295642092F458C17A3C3615866D846D50B93A1CA6C757F76A4E48BFE0602D3AB599DEA6A26ACECAB46E2FB4E74054821893AE2B
  70. 25106C6F296BA43166CB13FD01D1C0CAE158A83622978F191D1FFE9FB593205E138C26802C70997BC61613FF54FB09E34DC95B97EA67A6B8CBB079F126A227BC7476128B7595D3F47B9DA2B0F377C3A8DF759F98A79799268C8
  71. B34323DF1B5D242AD7C1AE7D2CF70D3E3C619441551EA35F16B5EECD78BD7CD9C8EA59773FB94FA13052B1B01D184B39B0D4DB24F66919A13CD72DB3A1DCAB14707688A81D6A0EF32865AC6436DB706985DE87CFE78B18E0728
  72. 0B4BF8305D0203010001
  73. Cert serial number: 0DA29AD9524C1F4FF3FB763BBE52B1AC
  74. Cert thumbprint: AE699D5EBDDCE6ED574111262F19BB18EFBE73B0
  75. Cert effective date: 25-Feb-18 16:00:00
  76. Cert issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA
  77.  
  78. ********************
  79. Checking https://www.apple.com
  80. Cert for site https://www.apple.com expires in 251 days [on 03/25/2019 05:00:00]
  81.  
  82. ********************
  83. Checking https://www.npr.org
  84. Cert for site https://www.npr.org expires in 485 days [on 11/14/2019 15:59:59]
  85.  
  86. ********************
  87. Checking https://www.twitter.com
  88. Cert for site https://www.twitter.com expires in 265 days [on 04/08/2019 05:00:00]
  89.  
  90. ********************
Add Comment
Please, Sign In to add comment