@@ -81,22 +81,12 @@ func WriteDefaultIdentity(certChain []api.Certificate, key crypto.PrivateKey) er
81
81
keyFilename := filepath .Join (identityDir , "identity_key" )
82
82
83
83
// Write certificate
84
- buf := new (bytes.Buffer )
85
- for _ , crt := range certChain {
86
- block := & pem.Block {
87
- Type : "CERTIFICATE" ,
88
- Bytes : crt .Raw ,
89
- }
90
- if err := pem .Encode (buf , block ); err != nil {
91
- return errors .Wrap (err , "error encoding identity certificate" )
92
- }
93
- }
94
- if err := ioutil .WriteFile (certFilename , buf .Bytes (), 0600 ); err != nil {
95
- return errors .Wrap (err , "error writing identity certificate" )
84
+ if err := WriteIdentityCertificate (certChain ); err != nil {
85
+ return err
96
86
}
97
87
98
88
// Write key
99
- buf . Reset ( )
89
+ buf := new (bytes. Buffer )
100
90
block , err := pemutil .Serialize (key )
101
91
if err != nil {
102
92
return err
@@ -126,6 +116,27 @@ func WriteDefaultIdentity(certChain []api.Certificate, key crypto.PrivateKey) er
126
116
return nil
127
117
}
128
118
119
+ // WriteIdentityCertificate writes the identity certificate in disk.
120
+ func WriteIdentityCertificate (certChain []api.Certificate ) error {
121
+ buf := new (bytes.Buffer )
122
+ certFilename := filepath .Join (identityDir , "identity.crt" )
123
+ for _ , crt := range certChain {
124
+ block := & pem.Block {
125
+ Type : "CERTIFICATE" ,
126
+ Bytes : crt .Raw ,
127
+ }
128
+ if err := pem .Encode (buf , block ); err != nil {
129
+ return errors .Wrap (err , "error encoding identity certificate" )
130
+ }
131
+ }
132
+
133
+ if err := ioutil .WriteFile (certFilename , buf .Bytes (), 0600 ); err != nil {
134
+ return errors .Wrap (err , "error writing identity certificate" )
135
+ }
136
+
137
+ return nil
138
+ }
139
+
129
140
// Kind returns the type for the given identity.
130
141
func (i * Identity ) Kind () Type {
131
142
switch strings .ToLower (i .Type ) {
0 commit comments