gecko-dev/testing/mozharness/test/test_mozilla_signed_certificate_timestamp.py
Richard Barnes b698283963 Bug 1346359 - Script to submit transparency certs to CT r=rail
MozReview-Commit-ID: F8uPgoJTFr

--HG--
extra : rebase_source : d45e3db6ff3836057cb3934d2e8d2956f715c8c8
2017-03-10 17:48:37 -05:00

32 lines
1.1 KiB
Python

import unittest
import struct
from mozharness.mozilla.signed_certificate_timestamp import SignedCertificateTimestamp
log_id = 'pLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BA='.decode('base64')
timestamp = 1483206164907
signature = 'BAMARzBFAiEAsyJov/LF1DIxurR+6xkxP/ZJzb3whHQ+1+PrJNuXfnoCIG28p1XRxkQqRprnCIDDBniKbJngig/NQnIEQ5VZOYG+'.decode('base64')
json_sct = {
'sct_version': 0,
'id': log_id.encode('base64'),
'timestamp': timestamp,
'signature': signature.encode('base64'),
}
hex_timestamp = struct.pack('!Q', timestamp).encode('hex')
hex_sct = '00' + log_id.encode('hex') + hex_timestamp + '0000' + signature.encode('hex')
binary_sct = hex_sct.decode('hex')
class TestSignedCertificateTimestamp(unittest.TestCase):
def testEncode(self):
sct = SignedCertificateTimestamp(json_sct)
self.assertEquals(sct.to_rfc6962(), binary_sct)
def testDecode(self):
sct = SignedCertificateTimestamp.from_rfc6962(binary_sct)
self.assertEquals(sct.version, 0)
self.assertEquals(sct.id, log_id)
self.assertEquals(sct.timestamp, timestamp)
self.assertEquals(sct.signature, signature)