среда, 9 июня 2010 г.

Просмотр сертификата с помощью openssl

Страничка вики: OpenSSL

Скрипт для разбора данных сертификата и отображения в нужном нам формате:
#!/usr/bin/tclsh8.5

set titles {Страна Регион Город Организация {Общее имя (СЦ)} {E-mail адрес}}

set cert [exec openssl x509 -text -in test.pem]

proc parse_sec {cert sec} {
  set regexp {: C=(.*), ST=(.*), L=(.*), O=(.*), CN=(.*)/emailAddress=(.*)}
  set regexp $sec$regexp
  set res [regexp -line -inline $regexp $cert]
  if {$res ne {}} {
    return [lrange $res 1 end]
  }
  return
}

proc parse_date {cert sec} {
  set regexp "Not $sec\\s*: (.*)"
  if { [regexp -line $regexp $cert res date] == 1 } {
    return $date
  }
  return
}

puts {Кто выдал}
foreach title $titles value [parse_sec $cert Issuer] {
  puts "$title: $value"
}

puts {Кому выдан}
foreach title $titles value [parse_sec $cert Subject] {
  puts "$title: $value"
}

puts [parse_date $cert Before]
puts [parse_date $cert After]

Комментариев нет:


(C) Alexey Pechnikov aka MBG, mobigroup.ru