Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: chrome/test/pyautolib/asn1der.py

Issue 9791023: Allow setting of user and device policies in functional tests (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Oops... turns out these constants are reference by other files after all. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/functional/policy_test_cases.py ('k') | chrome/test/pyautolib/policy_base.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Helper module for ASN.1/DER encoding."""
6
7 import binascii
8 import struct
9
10 # Tags as defined by ASN.1.
11 INTEGER = 2
12 BIT_STRING = 3
13 NULL = 5
14 OBJECT_IDENTIFIER = 6
15 SEQUENCE = 0x30
16
Nirnimesh 2012/04/10 17:48:55 nit: need 2 blank lines here
17 def Data(tag, data):
18 """Generic type-length-value encoder.
19
20 Args:
21 tag: the tag.
22 data: the data for the given tag.
23
24 Returns:
25 encoded TLV value.
26 """
27 if len(data) == 0:
28 return struct.pack(">BB", tag, 0);
29 assert len(data) <= 0xffff;
30 return struct.pack(">BBH", tag, 0x82, len(data)) + data;
31
32
33 def Integer(value):
34 """Encodes an integer.
35
36 Args:
37 value: the long value.
38
39 Returns:
40 encoded TLV value.
41 """
42 data = '%x' % value
43 return Data(INTEGER, binascii.unhexlify('00' + '0' * (len(data) % 2) + data))
44
45
46 def Bitstring(value):
47 """Encodes a bit string.
48
49 Args:
50 value: a string holding the binary data.
51
52 Returns:
53 encoded TLV value.
54 """
55 return Data(BIT_STRING, '\x00' + value)
56
57
58 def Sequence(values):
59 """Encodes a sequence of other values.
60
61 Args:
62 values: the list of values, must be strings holding already encoded data.
63
64 Returns:
65 encoded TLV value.
66 """
67 return Data(SEQUENCE, ''.join(values))
OLDNEW
« no previous file with comments | « chrome/test/functional/policy_test_cases.py ('k') | chrome/test/pyautolib/policy_base.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698