Skip to content

Commit

Permalink
add TLS support
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelkrolevets committed Mar 27, 2024
1 parent 7e60151 commit 9aef7e5
Show file tree
Hide file tree
Showing 37 changed files with 622 additions and 21 deletions.
19 changes: 19 additions & 0 deletions cli/flags/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ const (
logFilePath = "logFilePath"
validators = "validators"
operatorID = "operatorID"
clientCACertPath = "clientCACertPath"
serverTLSCertPath = "serverTLSCertPath"
serverTLSKeyPath = "serverTLSKeyPath"
)

// WithdrawAddressFlag adds withdraw address flag to the command
Expand Down Expand Up @@ -103,10 +106,26 @@ func LogFilePathFlag(c *cobra.Command) {
AddPersistentStringFlag(c, logFilePath, "debug.log", "Defines a file path to write logs into", false)
}

// ResultPathFlag sets the path to store resulting files
func ResultPathFlag(c *cobra.Command) {
AddPersistentStringFlag(c, outputPath, "./output", "Path to store results", false)
}

// ClientCACertPathFlag sets path to client CA certificates
func ClientCACertPathFlag(c *cobra.Command) {
AddPersistentStringSliceFlag(c, clientCACertPath, []string{}, "Path to client CA certificates", false)
}

// ServerTLSCertPath sets path to server TLS certificate
func ServerTLSCertPath(c *cobra.Command) {
AddPersistentStringFlag(c, serverTLSCertPath, "", "Path to server TLS certificate", false)
}

// ServerTLSKeyPath sets path to server server TLS private key
func ServerTLSKeyPath(c *cobra.Command) {
AddPersistentStringFlag(c, serverTLSKeyPath, "", "Path to server TLS private key", false)
}

// ValidatorsFlag add number of validators to create flag to the command
func ValidatorsFlag(c *cobra.Command) {
AddPersistentIntFlag(c, validators, 1, "Number of validators", false)
Expand Down
2 changes: 1 addition & 1 deletion cli/initiator/initiator.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ var StartDKG = &cobra.Command{
i := i
pool.Go(func(ctx context.Context) (*Result, error) {
// Create new DKG initiator
dkgInitiator, err := initiator.New(opMap.Clone(), logger, cmd.Version)
dkgInitiator, err := initiator.New(opMap.Clone(), logger, cmd.Version, cli_utils.ClientCACertPath)
if err != nil {
return nil, err
}
Expand Down
2 changes: 1 addition & 1 deletion cli/initiator/initiator_health_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var HealthCheck = &cobra.Command{
if err != nil {
logger.Fatal("😥", zap.Error(err))
}
dkgInitiator, err := initiator.New(nil, logger, cmd.Version)
dkgInitiator, err := initiator.New(nil, logger, cmd.Version, cli_utils.ClientCACertPath)
if err != nil {
logger.Fatal("😥", zap.Error(err))
}
Expand Down
2 changes: 1 addition & 1 deletion cli/operator/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ var StartDKGOperator = &cobra.Command{
logger.Fatal("😥 Failed to create new operator instance: ", zap.Error(err))
}
logger.Info("🚀 Starting DKG operator", zap.Uint64("at port", cli_utils.Port))
if err := srv.Start(uint16(cli_utils.Port)); err != nil {
if err := srv.Start(uint16(cli_utils.Port), cli_utils.ServerTLSCertPath, cli_utils.ServerTLSKeyPath); err != nil {
log.Fatalf("Error in operator %v", err)
}
return nil
Expand Down
48 changes: 43 additions & 5 deletions cli/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,17 @@ var (
OwnerAddress common.Address
Nonce uint64
Validators uint
ClientCACertPath []string
)

// operator flags
var (
PrivKey string
PrivKeyPassword string
Port uint64
OperatorID uint64
PrivKey string
PrivKeyPassword string
Port uint64
OperatorID uint64
ServerTLSCertPath string
ServerTLSKeyPath string
)

// verify flags
Expand Down Expand Up @@ -164,6 +167,7 @@ func SetInitFlags(cmd *cobra.Command) {
flags.NetworkFlag(cmd)
flags.WithdrawAddressFlag(cmd)
flags.ValidatorsFlag(cmd)
flags.ClientCACertPathFlag(cmd)
}

func SetOperatorFlags(cmd *cobra.Command) {
Expand All @@ -172,6 +176,8 @@ func SetOperatorFlags(cmd *cobra.Command) {
flags.PrivateKeyPassFlag(cmd)
flags.OperatorPortFlag(cmd)
flags.OperatorIDFlag(cmd)
flags.ServerTLSCertPath(cmd)
flags.ServerTLSKeyPath(cmd)
}

func SetVerifyFlags(cmd *cobra.Command) {
Expand Down Expand Up @@ -244,13 +250,16 @@ func BindInitiatorBaseFlags(cmd *cobra.Command) error {
if err := viper.BindPFlag("operatorsInfoPath", cmd.PersistentFlags().Lookup("operatorsInfoPath")); err != nil {
return err
}
if err := viper.BindPFlag("clientCACertPath", cmd.PersistentFlags().Lookup("clientCACertPath")); err != nil {
return err
}
OperatorIDs = viper.GetStringSlice("operatorIDs")
if len(OperatorIDs) == 0 {
return fmt.Errorf("😥 Operator IDs flag cant be empty")
}
OperatorsInfoPath = viper.GetString("operatorsInfoPath")
if strings.Contains(OperatorsInfoPath, "../") {
return fmt.Errorf("😥 logFilePath should not contain traversal")
return fmt.Errorf("😥 operatorsInfoPath flag should not contain traversal")
}
OperatorsInfo = viper.GetString("operatorsInfo")
if OperatorsInfoPath != "" && OperatorsInfo != "" {
Expand All @@ -268,6 +277,15 @@ func BindInitiatorBaseFlags(cmd *cobra.Command) error {
return fmt.Errorf("😥 Failed to parse owner address: %s", err)
}
Nonce = viper.GetUint64("nonce")
ClientCACertPath = viper.GetStringSlice("clientCACertPath")
for _, certPath := range ClientCACertPath {
if strings.Contains(certPath, "../") {
return fmt.Errorf("😥 clientCACertPath flag should not contain traversal")
}
}
if len(ClientCACertPath) == 0 {
return fmt.Errorf("😥 clientCACertPath flag value is not set")
}
return nil
}

Expand Down Expand Up @@ -322,6 +340,12 @@ func BindOperatorFlags(cmd *cobra.Command) error {
if err := viper.BindPFlag("operatorID", cmd.PersistentFlags().Lookup("operatorID")); err != nil {
return err
}
if err := viper.BindPFlag("serverTLSCertPath", cmd.PersistentFlags().Lookup("serverTLSCertPath")); err != nil {
return err
}
if err := viper.BindPFlag("serverTLSKeyPath", cmd.PersistentFlags().Lookup("serverTLSKeyPath")); err != nil {
return err
}
PrivKey = viper.GetString("privKey")
PrivKeyPassword = viper.GetString("privKeyPassword")
if PrivKey == "" {
Expand All @@ -338,6 +362,20 @@ func BindOperatorFlags(cmd *cobra.Command) error {
if OperatorID == 0 {
return fmt.Errorf("😥 Wrong operator ID provided")
}
ServerTLSCertPath = viper.GetString("serverTLSCertPath")
if strings.Contains(ServerTLSCertPath, "../") {
return fmt.Errorf("😥 serverTLSCertPath flag should not contain traversal")
}
if ServerTLSCertPath == "" {
return fmt.Errorf("😥 Failed to get serverTLSCertPath flag value")
}
ServerTLSKeyPath = viper.GetString("serverTLSKeyPath")
if strings.Contains(ServerTLSKeyPath, "../") {
return fmt.Errorf("😥 serverTLSKeyPath flag should not contain traversal")
}
if ServerTLSKeyPath == "" {
return fmt.Errorf("😥 Failed to get serverTLSKeyPath flag value")
}
return nil
}

Expand Down
1 change: 1 addition & 0 deletions examples/config/initiator.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ logLevel: info
logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/initiator/output/initiator_debug.log
clientCACertPath: /data/initiator/rootCA.crt
2 changes: 2 additions & 0 deletions examples/config/operator1.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator1/output/operator1_logs_debug.log
outputPath: /data/operator1/output
serverTLSCertPath: /data/operator1/localhost.crt
serverTLSKeyPath: /data/operator1/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator2.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator2/output/operator2_logs_debug.log
outputPath: /data/operator2/output
serverTLSCertPath: /data/operator2/localhost.crt
serverTLSKeyPath: /data/operator2/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator3.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator3/output/operator3_logs_debug.log
outputPath: /data/operator3/output
serverTLSCertPath: /data/operator3/localhost.crt
serverTLSKeyPath: /data/operator3/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator4.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator4/output/operator4_logs_debug.log
outputPath: /data/operator4/output
serverTLSCertPath: /data/operator4/localhost.crt
serverTLSKeyPath: /data/operator4/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator5.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator5/output/operator5_logs_debug.log
outputPath: /data/operator5/output
serverTLSCertPath: /data/operator5/localhost.crt
serverTLSKeyPath: /data/operator5/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator6.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator6/output/operator6_logs_debug.log
outputPath: /data/operator6/output
serverTLSCertPath: /data/operator6/localhost.crt
serverTLSKeyPath: /data/operator6/localhost.key
4 changes: 3 additions & 1 deletion examples/config/operator7.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ logLevel: info
logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator7/output/operator7_logs_debug.log
outputPath: /data/operator7/output
outputPath: /data/operator7/output
serverTLSCertPath: /data/operator7/localhost.crt
serverTLSKeyPath: /data/operator7/localhost.key
2 changes: 2 additions & 0 deletions examples/config/operator8.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ logFormat: json
logLevelFormat: capitalColor
logFilePath: /data/operator8/output/operator8_logs_debug.log
outputPath: /data/operator8/output
serverTLSCertPath: /data/operator8/localhost.crt
serverTLSKeyPath: /data/operator8/localhost.key
16 changes: 8 additions & 8 deletions examples/initiator/operators_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,41 @@
{
"id": 1,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdkFXRFppc1d4TUV5MGNwdjhoanAKQThDMWNYZ3VseHkyK0tDNldpWGo3NThuMjl4b1NsNHV1SjgwQ2NqQXJqbGQrWkNEWmxvSlhtMk51L0FFOFRaMgpQRW1UZFcxcGp5TmV1N2RDUWtGTHF3b3JGZ1AzVWdxczdQSEpqSE1mOUtTb1Y0eUxlbkxwYlR0L2tEczJ1Y1c3CnUrY3hvZFJ4d01RZHZiN29mT0FhbVhxR1haZ0NhNHNvdHZmSW9RS1dDaW9MczcvUkM3dHJrUGJONW4rbHQyZWEKd1J1SFRTTlNZcEdmbi9ud0FROHVDaW55SnNQV0Q0NUhldG9GekNKSlBnNjYzVzE1K1VsWU9tQVJCcWtaSVBISAp5V25ORjZTS2tRalI2MDJwQ3RXTkZRMi9wUVFqblJXbUkrU2FjMHhXRVQ3UUlsVmYxSGZ2NWRnWE9OT05hTTlFClN3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator1:3030"
"ip": "https://operator1:3030"
},
{
"id": 22,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdnRVRWFlallqY3pBUWhnSTQ0S3cKcGZYZjhCNk1ZUjhOMzFmRVFLRGRDVmo5dUNPcHVybzYzSDdxWXNzMzVGaVdxNmRwMjR3M0dCRTAzR1llU1BSZgowTEVBVEJkYlhCVkY3WGR6ei9sV2UrblJNRG1Xdm1DTUZjRlRPRU5FYmhuTXVjOEQ1K3ZFTmo5cTQzbE4vejhqCmE2T2M4S2tEL2E4SW02Nm54ZkRhMjFyMzNaSW9GL1g5d0g2K25EN3Jockx5bzJub1lxaVJpT1NTTkp2R25UY08KazBmckk4b2xFNjR1clhxWXFLN2ZicXNaN082NnphN2ROTmc3MW1EWHlpdDlSTUlyR3lSME5xN0FUSkxwbytoTApEcldoY0h4M0NWb1dQZzNuR2phN0duVFhXU2FWb1JPSnBRVU9oYXgxNVJnZ2FBOHpodGgyOUorNnNNY2R6ZitQCkZ3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator2:3030"
"ip": "https://operator2:3030"
},
{
"id": 33,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdlFhZlo0ODJQYXRsYnRrOVdIb2MKZDBWdWNWWDk4QUlzenAvazlFTlYyQU82SVhQUXVqU1BtdUZrQTlibThsSllnWTJPb0lQU0RmK1JHWGNMc2R0VApzdEJhQ2JPL0pMOFlSejk4NURKejhBRlhDU0J3bW5mbzROSFptUjJGMVdMTE5CS2wzdVQ5Q1VLbC9RUnpKRFF1CjNNYVJ6eE5FVmdONWtvU1Nid0NxVDNDSCtjam5QU0pIeGhiaTNTaldOSnJFb3ZRUmN3ZUlpYXRrZEdVNWJOUkoKUW1LVldhYzhzVklYN2NDNE54V2RDNG1VM1RPK2Vlei90N2xVcnhSNjdnb21TbGdwaU5weFJ1M2dFajRkSWpINwpsZDlTYW1ObEJPeHV5N0lFMEJpdm5nSUdIKzVwcXZVTXhoM0N5WkVtMjFHd3JTRFhqcVpwWG92OEUwQkQ5eGY4ClN3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator3:3030"
"ip": "https://operator3:3030"
},
{
"id": 44,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeFRWM2I5OHU4NmtzcEhQcWgrS2QKKzRHd0lSeEhwRHpEZjVlc3hjZytxaTlvbDRERmplUXMrbGloeUp5cGdOMXJwdTlQVnR5cXp2K3k5cEVNa0VXTgovYjBUQmdRMEp5TzdmNGliY1d5UUcrNGhVUS9XY3h1ZW5aUDA3S0VwTjh4Tk8xN3BzbmhRMXRqQVhybDNGN1lYCmlZdXl5Z0Rta2w0YjYrUDR6MjNhR01VSEtnTnJ5aFlZTFV4dWdycDVRTnJTV3lXNXFtb2EvYnJDenQ2RFJYb1UKU25JSkpSUVpPS2NnckdKMHVBYjJDRmtsL0xuaElxT2RZZ21aUG9oRmprVEorRnZNdkZsMjAwZ1BHbVpxUS9MMgpsM2ZBdmhZYlZRMlRVeUtmU2orYXZ1WUFZZnhKeG5OcWlmdkNkVGNmQzc3c0N0eFFERWVjY0pTVnVDbGZWeTFZCll3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator4:3030"
"ip": "https://operator4:3030"
},
{
"id": 55,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeXdVQzlqdTIrVHd3V29KeHh6SUMKR0V3RzZHUkQ4ekg4ZHVmMjNJVFJJdEtRZWlaUGpFdGQ1di9qTVRuYVdUK3NocEtaK3cvdEdkam8xc0xPeGk1ZQpDeVhPVllvSXE5UnVmcUxpSjNnQ0NmOGdaNnA1Tjl5b0I3bysySFVzbGpaYjN4QXlsbk03NU42LzJ2ZDZ2TTgvCnpFMWhBejVTMlhEQlB5UU5Bc2FhRkxzZjJEdDdmS1JWZWFWVWk0bGU1dzdVN3pnTmcvV1hNMlBVY1Z5YytZL1kKaS85dnlKN2hxMW1STXpITDVkUVE0YVU2NnI3LzNBVFlncWlKQjd2NzBOY0RNd2lMcnNKOEo3Tnh0aVpZdi9CbApXdHVqR3B3b3ltWUwzSGJLTXdJS1NMOEtweFpsNXZjL0ZZcjNSbmdDcXhJQjJ3ME1JNE51NkZqbTduZCtuYWxzCkl3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator5:3030"
"ip": "https://operator5:3030"
},
{
"id": 66,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMFBQUXJSU2xmKzJhNHNIb1dFc28KUmFKTGhRWUo2NUdhN2gzeW5CbnB1bUxlck16NElUOVlGWUJxcHVzWXJ2dy9Ha2dpUWI3UXVHTGdWWUhwc01LcgpmOFFxM21odndkUU5Ya1duU1ZOb3p6SmlGZG13d1RXOHh1MElpQkEyWEpMa2Y5bFFNYUxlR2xnYythVThWUFg5CnFRQ2pVR1ZKY3k5eDRwUDNNNE8wRzBOckRPMzBTUHliU01JY2J6NHlESEo1ZDFDbkI5R1pUT0xjcEt5Y1BSZUUKWXIxR1ZYMlpxZjQwU2FYMjRLbXU0UGNUbmFERWh3cVBkaGQzLytQdHVmZGpLYVczdC9yeXVCcERuYlI2VXhLSwpzWEM5VTZNMExkSnVVaEJsQ3RhNnh5WlgvcWVLUDNTT0J6NEF1bGpnNnNNK2tsLzNoejFEVWllZUVpU1JFWGJUCnN3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator6:3030"
"ip": "https://operator6:3030"
},
{
"id": 77,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcjVLeDJqRXhNejcwR3lVVkM4VDAKdkd4UlBsMFU1eWFQVzZVTWZ4ekhUOXN0TE1ZbUhuSnMxTXdHQjIzcW4yc3NZeDJ2VGlWcUVXSDNDQnZjWjJoaQo5K29CYmRnRExtVDREU0dSbXlHbU1zWFgyTWlsaG9qU0hxNzIza1MxcEN0SnBGckpEU1RlQThPd1Q1VXMyc1FYCkM4Q0Z6c21tMG5OOWFkajg1SVJUbEJpRy9DMXErYXVtZmF4SGZEMCtLbjc0WXc0SnJqNDJIS21VaXdaUGRBbTgKRlM4YmUrZkdQdkdCNXJkYXNNdjV2eG56OUttN25Ld1UrTnJVcUZvVEgzUDcyOGpUQUpMbUZVUnhncTFGei9ITApVNkwwakI1RDdWanFmSUZ0ZThlbWp4VlByVEFOU0lLVUZBNEFKc2NVdHdmblJ4TW02SXJnaUJqK2tJQlpodDl0CjlRSURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator7:3030"
"ip": "https://operator7:3030"
},
{
"id": 88,
"public_key": "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdTNablJKYUwvZ244ekJqQldqazIKSGIvT0RvSWhrR0xDVlVtNU9KZXB3ckZRTWxVeFI3S0lFMnZhUkkrM1BZb2VscmNwd3diWFFpUldhOCs3cHh2QwpQdGhRS2xob2NKUXVyR1hIMVlhYmNHV0RKdnRWWjJ3ZDY1cHNxYkNpOTE5Zmovdk1KVFEyNVE1c1M5SXU0UjF3ClVVcEt1TU4xUkg5RTE4cnpsSjdxQ3ZMZmVLRkZmd3llZ2NMN0tONUFBNjE5VUY3eFlrZU1VZmFNMDA3K2VzZFgKdG5icWNIWE5kVlRhT3FlZFcreXhHSU10QUFmN29EVnZvcVAydGJIckN3TFpXb0Y0NkFWRjVaaVdldzhKZnI5dgpMUDBiTnpIekNqQkRPS0dZeWEvQWc2TlpEdGxBdlREelVpMnU4YU9ycWs1aERscWk1VDMrZWhRdjFxQzRBZjZHCjV3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",
"ip": "http://operator8:3030"
"ip": "https://operator8:3030"
}
]
32 changes: 32 additions & 0 deletions examples/initiator/rootCA.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFkzCCA3ugAwIBAgIUd20zKzGKydt+qcACm6glNCd3A+owDQYJKoZIhvcNAQEL
BQAwWTELMAkGA1UEBhMCaWwxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MB4X
DTI0MDMyNzE1MTkwNVoXDTM0MDMyNTE1MTkwNVowWTELMAkGA1UEBhMCaWwxEzAR
BgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5
IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
MIICCgKCAgEA1Ea79OzFylU64UdAIh315iy14oIp7EP+Qm0QDhHrNnygpdp3Yng8
jBlKg1eetUkSrHk2P3vDfPFjNe9IeafLxxpPzFyVCjwW+ftcHynpcPZwDX7APJdH
uDIRwqbsyNQ3VrFvZBME30FMvz565wm7jnFpil+gq6hcnxstd1iCfeu9V4F5Ljs8
rPQ6JdzqLtvB6Apsrsxdx/aYeDC2wMI3MsNerlBh/iyNAyVIDHSkcD+DdrYWuG4K
ykbOi/AanANImOJpec2UusWcW43DAXUsxhufTXURzIV+eNtq/cDWmOTYDd39SHR5
iTbhf0UiK5lIUiuCeToTxtvCtYAS5p5lMjXS+j47RVx/ohUm1cPYegQvO8y/bwsp
c4TipZ8I5ruG8UwWTNLcEfC08xudO17mFmNIU5O052iCXaOk7jF0wj2EUpBjqEGe
UEQFoxy58ZdK4xLefiqfhnCtl6yt3m1q7gf2Lzmsq7gMdBo32opvWMf76qScRiAQ
EmC20dD8GEnoS6Vry+mrhgML0JvEmqCZW6MUYUlk3EU+Il95Jid33cQ/Uz7JtEjk
LNOmHKIaFurKM1MIC57VCPXiFdkJ98l17fyNDwvZ7N9IG7Ewz79GiZWdbT/hsBcR
cjPqlT1p6fpEV0yYufa4HxRhoks3ri9L2tTeI5VXC8sqoPIhH5ql3f0CAwEAAaNT
MFEwHQYDVR0OBBYEFOO0YPH1r9xUTTiluDXi0T9v6ZjcMB8GA1UdIwQYMBaAFOO0
YPH1r9xUTTiluDXi0T9v6ZjcMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
BQADggIBAFMY9Wt2P3Asy4F7YmsFfEUxf+Eng7C7s1UQaRX0uvzXTJsMl6MW9y8W
zO3xVHP5ZH6XDIupeff+090S3D+Sb+ebCb/LjwKL+tBEIqalfMIayaIJSxI+wjrV
SB+4Kr6tHDX0fBQRbAS+MgPLyMTngoV4N1+2D849UxX9bIrwvjGOQXv/OeKvMvNj
BAsFxeKWf/D1RBGgdV4TMRp1MU5FF6sawwziXZNgCdp1S9OihG2UKKu8D5Xxy1DQ
yKhVGLvcgQYTSowB4YcuRJQySFeTFPvJGiAwJD/z7KHX56xIfEoAasg7stxvrl6G
kViBMdb+8gSkuB1KBpTmSz31oDqmEhhm4+NJnHIGrO1F5+5FGMnIsumUozv9Hp6o
6BZbcN0wYfMGfsX7Oe55a4mcRgcoi1AxWw4Nly/evU5fFSC0FzUOUlg+W4qmKHtn
y5BiztFN+aMNcBYQouNM/icHiEXp1rmxCcM3XJQ3FtybQlF65OMy0ZidyqCnoBxi
1su5gCeaK8nbhm4hi5LxMBvgOVLaPFcfD8lUmJ5llT0SItnNK38oeM0QWAQ1pBLZ
07gVspxt6Yz45qxvf2Ai/UDDglxIg2cIjUW1LfNAPjry5V4lApu9/xec0/17vJHc
SR3wB1etfdhiehcYhd4hKmEPdbqAVk9WDqQFX1aabAL5wDcKriaV
-----END CERTIFICATE-----
52 changes: 52 additions & 0 deletions examples/initiator/rootCA.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
/qxGH3LZRk2wCjwNaBdH2Y8NQnsPaqp/
-----END PRIVATE KEY-----
1 change: 1 addition & 0 deletions examples/initiator/rootCA.srl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1473DA1BC7FB715E11374201409A7150189C5868
Loading

0 comments on commit 9aef7e5

Please sign in to comment.