aboutsummaryrefslogtreecommitdiff
path: root/scripts/gski.py
blob: f7e6dbf6e40ced8d9532626cebe6bbf685e98a85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# $Id$

import POW, POW.pkix, base64, getopt, sys

opts, args = getopt.getopt(sys.argv[1:], "", ["pem", "der"])

use_pem = False

for o, a in opts:
  if o == "--pem": use_pem = True
  if o == "--der": use_pem = False

for file in args:
  f = open(file, "r")
  der = f.read()
  f.close()
  if use_pem:
    der = POW.pemRead(POW.X509_CERTIFICATE, der).derWrite()
  cert = POW.pkix.Certificate()
  cert.fromString(der)
  ski = base64.b64encode([x for x in cert.getExtensions() if x[0] == (2, 5, 29, 14)][0][2]).replace("+", "-").replace("/", "_")
  print ski, file