1 | var assert = require('assert');
|
2 | var rfc2560 = require('..');
|
3 |
|
4 | var Buffer = require('buffer').Buffer;
|
5 |
|
6 | describe('asn1.js RFC2560', function() {
|
7 | it('should decode OCSP response', function() {
|
8 | var data = new Buffer(
|
9 | '308201d40a0100a08201cd308201c906092b0601050507300101048201ba308201b630' +
|
10 | '819fa216041499e4405f6b145e3e05d9ddd36354fc62b8f700ac180f32303133313133' +
|
11 | '303037343531305a30743072304a300906052b0e03021a050004140226ee2f5fa28108' +
|
12 | '34dacc3380e680ace827f604041499e4405f6b145e3e05d9ddd36354fc62b8f700ac02' +
|
13 | '1100bb4f9a31232b1ba52a0b77af481800588000180f32303133313133303037343531' +
|
14 | '305aa011180f32303133313230343037343531305a300d06092a864886f70d01010505' +
|
15 | '00038201010027813333c9b46845dfe3d0cb6b19c03929cdfc9181c1ce823929bb911a' +
|
16 | 'd9de05721790fcccbab43f9fbdec1217ab8023156d07bbcc3555f25e9e472fbbb5e019' +
|
17 | '2835efcdc71b3dbc5e5c4c5939fc7a610fc6521d4ed7d2b685a812fa1a3a129ea87873' +
|
18 | '972be3be54618ba4a4d96090d7f9aaa5f70d4f07cf5cf3611d8a7b3adafe0b319459ed' +
|
19 | '40d456773d5f45f04c773711d86cc41d274f771a31c10d30cd6f846b587524bfab2445' +
|
20 | '4bbb4535cff46f6b341e50f26a242dd78e246c8dea0e2fabcac9582e000c138766f536' +
|
21 | 'd7f7bab81247c294454e62b710b07126de4e09685818f694df5783eb66f384ce5977f1' +
|
22 | '2721ff38c709f3ec580d22ff40818dd17f',
|
23 | 'hex');
|
24 |
|
25 | var res = rfc2560.OCSPResponse.decode(data, 'der');
|
26 | assert.equal(res.responseStatus, 'successful');
|
27 | assert.equal(res.responseBytes.responseType, 'id-pkix-ocsp-basic');
|
28 |
|
29 | var basic = rfc2560.BasicOCSPResponse.decode(
|
30 | res.responseBytes.response,
|
31 | 'der'
|
32 | );
|
33 | assert.equal(basic.tbsResponseData.version, 'v1');
|
34 | assert.equal(basic.tbsResponseData.producedAt, 1385797510000);
|
35 | });
|
36 |
|
37 | it('should encode/decode OCSP response', function() {
|
38 | var encoded = rfc2560.OCSPResponse.encode({
|
39 | responseStatus: 'malformed_request',
|
40 | responseBytes: {
|
41 | responseType: 'id-pkix-ocsp-basic',
|
42 | response: 'random-string'
|
43 | }
|
44 | }, 'der');
|
45 | var decoded = rfc2560.OCSPResponse.decode(encoded, 'der');
|
46 | assert.equal(decoded.responseStatus, 'malformed_request');
|
47 | assert.equal(decoded.responseBytes.responseType, 'id-pkix-ocsp-basic');
|
48 | assert.equal(decoded.responseBytes.response.toString(), 'random-string');
|
49 | });
|
50 | });
|