#!/usr/bin/env python

import sys, os, os.path
import pywii

pywii.loadkeys_dpki()

args = sys.argv[1:]
mode = args.pop(0)
infile = args.pop(0)
outfile = args.pop(0)
certfile = args.pop(0)
issuer = args.pop(0)

if sys.argv[1] == "-cetk":
	signed = pywii.WiiTik(open(infile, "rb").read())
elif sys.argv[1] == "-tmd":
	signed = pywii.WiiTmd(open(infile, "rb").read())
else:
	print "EYOUFAILIT"
	sys.exit(1)

certs, certlist = pywii.parse_certs(open(certfile).read())

signed.update_issuer(issuer)

if not signed.sign(certs):
	print "dpki signing failed"
	sys.exit(1)

open(outfile, "wb").write(signed.data)

print "successfully signed %s" % outfile
sys.exit(0)

