...

Source file src/github.com/letsencrypt/boulder/rocsp/config/issuers_test.go

Documentation: github.com/letsencrypt/boulder/rocsp/config

     1  package rocsp_config
     2  
     3  import (
     4  	"encoding/hex"
     5  	"strings"
     6  	"testing"
     7  
     8  	"github.com/letsencrypt/boulder/test"
     9  	"golang.org/x/crypto/ocsp"
    10  )
    11  
    12  func TestLoadIssuers(t *testing.T) {
    13  	input := map[string]int{
    14  		"../../test/hierarchy/int-e1.cert.pem": 23,
    15  		"../../test/hierarchy/int-r3.cert.pem": 99,
    16  	}
    17  	output, err := LoadIssuers(input)
    18  	if err != nil {
    19  		t.Fatal(err)
    20  	}
    21  
    22  	var e1 *ShortIDIssuer
    23  	var r3 *ShortIDIssuer
    24  
    25  	for i, v := range output {
    26  		if strings.Contains(v.Certificate.Subject.String(), "E1") {
    27  			e1 = &output[i]
    28  		}
    29  		if strings.Contains(v.Certificate.Subject.String(), "R3") {
    30  			r3 = &output[i]
    31  		}
    32  	}
    33  
    34  	test.AssertEquals(t, e1.Subject.String(), "CN=(TEST) Elegant Elephant E1,O=Boulder Test,C=XX")
    35  	test.AssertEquals(t, r3.Subject.String(), "CN=(TEST) Radical Rhino R3,O=Boulder Test,C=XX")
    36  	test.AssertEquals(t, e1.shortID, uint8(23))
    37  	test.AssertEquals(t, r3.shortID, uint8(99))
    38  }
    39  
    40  func TestFindIssuerByName(t *testing.T) {
    41  	input := map[string]int{
    42  		"../../test/hierarchy/int-e1.cert.pem": 23,
    43  		"../../test/hierarchy/int-r3.cert.pem": 99,
    44  	}
    45  	issuers, err := LoadIssuers(input)
    46  	if err != nil {
    47  		t.Fatal(err)
    48  	}
    49  
    50  	elephant, err := hex.DecodeString("3049310b300906035504061302585831153013060355040a130c426f756c6465722054657374312330210603550403131a28544553542920456c6567616e7420456c657068616e74204531")
    51  	if err != nil {
    52  		t.Fatal(err)
    53  	}
    54  	rhino, err := hex.DecodeString("3046310b300906035504061302585831153013060355040a130c426f756c64657220546573743120301e06035504031317285445535429205261646963616c205268696e6f205233")
    55  	if err != nil {
    56  		t.Fatal(err)
    57  	}
    58  
    59  	ocspResp := &ocsp.Response{
    60  		RawResponderName: elephant,
    61  	}
    62  
    63  	issuer, err := FindIssuerByName(ocspResp, issuers)
    64  	if err != nil {
    65  		t.Fatalf("couldn't find issuer: %s", err)
    66  	}
    67  
    68  	test.AssertEquals(t, issuer.shortID, uint8(23))
    69  
    70  	ocspResp = &ocsp.Response{
    71  		RawResponderName: rhino,
    72  	}
    73  
    74  	issuer, err = FindIssuerByName(ocspResp, issuers)
    75  	if err != nil {
    76  		t.Fatalf("couldn't find issuer: %s", err)
    77  	}
    78  
    79  	test.AssertEquals(t, issuer.shortID, uint8(99))
    80  }
    81  
    82  func TestFindIssuerByID(t *testing.T) {
    83  	input := map[string]int{
    84  		"../../test/hierarchy/int-e1.cert.pem": 23,
    85  		"../../test/hierarchy/int-r3.cert.pem": 99,
    86  	}
    87  	issuers, err := LoadIssuers(input)
    88  	if err != nil {
    89  		t.Fatal(err)
    90  	}
    91  
    92  	// an IssuerNameID
    93  	issuer, err := FindIssuerByID(66283756913588288, issuers)
    94  	if err != nil {
    95  		t.Fatalf("couldn't find issuer: %s", err)
    96  	}
    97  	test.AssertEquals(t, issuer.shortID, uint8(23))
    98  
    99  	// an IssuerID
   100  	issuer, err = FindIssuerByID(2823400738, issuers)
   101  	if err != nil {
   102  		t.Fatalf("couldn't find issuer: %s", err)
   103  	}
   104  	test.AssertEquals(t, issuer.shortID, uint8(23))
   105  
   106  	// an IssuerNameID
   107  	issuer, err = FindIssuerByID(58923463773186183, issuers)
   108  	if err != nil {
   109  		t.Fatalf("couldn't find issuer: %s", err)
   110  	}
   111  	test.AssertEquals(t, issuer.shortID, uint8(99))
   112  
   113  	// an IssuerID
   114  	issuer, err = FindIssuerByID(2890189813, issuers)
   115  	if err != nil {
   116  		t.Fatalf("couldn't find issuer: %s", err)
   117  	}
   118  	test.AssertEquals(t, issuer.shortID, uint8(99))
   119  }
   120  

View as plain text