...
1 package ca
2
3 import (
4 "os"
5
6 "github.com/letsencrypt/boulder/strictyaml"
7 )
8
9
10 type ECDSAAllowList struct {
11 regIDsMap map[int64]bool
12 }
13
14
15
16 func (e *ECDSAAllowList) permitted(regID int64) bool {
17 return e.regIDsMap[regID]
18 }
19
20 func makeRegIDsMap(regIDs []int64) map[int64]bool {
21 regIDsMap := make(map[int64]bool)
22 for _, regID := range regIDs {
23 regIDsMap[regID] = true
24 }
25 return regIDsMap
26 }
27
28
29
30
31 func NewECDSAAllowListFromFile(filename string) (*ECDSAAllowList, int, error) {
32 configBytes, err := os.ReadFile(filename)
33 if err != nil {
34 return nil, 0, err
35 }
36
37 var regIDs []int64
38 err = strictyaml.Unmarshal(configBytes, ®IDs)
39 if err != nil {
40 return nil, 0, err
41 }
42
43 allowList := &ECDSAAllowList{regIDsMap: makeRegIDsMap(regIDs)}
44 return allowList, len(allowList.regIDsMap), nil
45 }
46
View as plain text