@@ -100,13 +100,15 @@ func getPemMaterialFromDir(dir string) ([][]byte, error) {
100
100
}
101
101
102
102
const (
103
- cacerts = "cacerts"
104
- admincerts = "admincerts"
105
- signcerts = "signcerts"
106
- keystore = "keystore"
107
- intermediatecerts = "intermediatecerts"
108
- crlsfolder = "crls"
109
- configfilename = "config.yaml"
103
+ cacerts = "cacerts"
104
+ admincerts = "admincerts"
105
+ signcerts = "signcerts"
106
+ keystore = "keystore"
107
+ intermediatecerts = "intermediatecerts"
108
+ crlsfolder = "crls"
109
+ configfilename = "config.yaml"
110
+ tlscacerts = "tlscacerts"
111
+ tlsintermediatecerts = "tlsintermediatecerts"
110
112
)
111
113
112
114
func SetupBCCSPKeystoreConfig (bccspConfig * factory.FactoryOpts , keystoreDir string ) * factory.FactoryOpts {
@@ -166,6 +168,8 @@ func getMspConfig(dir string, ID string, sigid *msp.SigningIdentityInfo) (*msp.M
166
168
intermediatecertsDir := filepath .Join (dir , intermediatecerts )
167
169
crlsDir := filepath .Join (dir , crlsfolder )
168
170
configFile := filepath .Join (dir , configfilename )
171
+ tlscacertDir := filepath .Join (dir , tlscacerts )
172
+ tlsintermediatecertsDir := filepath .Join (dir , tlsintermediatecerts )
169
173
170
174
cacerts , err := getPemMaterialFromDir (cacertDir )
171
175
if err != nil || len (cacerts ) == 0 {
@@ -177,18 +181,35 @@ func getMspConfig(dir string, ID string, sigid *msp.SigningIdentityInfo) (*msp.M
177
181
return nil , fmt .Errorf ("Could not load a valid admin certificate from directory %s, err %s" , admincertDir , err )
178
182
}
179
183
180
- intermediatecert , err := getPemMaterialFromDir (intermediatecertsDir )
184
+ intermediatecerts , err := getPemMaterialFromDir (intermediatecertsDir )
181
185
if os .IsNotExist (err ) {
182
- mspLogger .Infof ( "intermediate certs folder not found at [%s]. Skipping.: [%s]" , intermediatecertsDir , err )
186
+ mspLogger .Warningf ( "Intermediate certs folder not found at [%s]. Skipping. [%s]" , intermediatecertsDir , err )
183
187
} else if err != nil {
184
188
return nil , fmt .Errorf ("Failed loading intermediate ca certs at [%s]: [%s]" , intermediatecertsDir , err )
185
189
}
186
190
191
+ tlsCACerts , err := getPemMaterialFromDir (tlscacertDir )
192
+ tlsIntermediateCerts := [][]byte {}
193
+ if os .IsNotExist (err ) {
194
+ mspLogger .Warningf ("TLS CA certs folder not found at [%s]. Skipping and ignoring TLS intermediate CA folder. [%s]" , tlsintermediatecertsDir , err )
195
+ } else if err != nil {
196
+ return nil , fmt .Errorf ("Failed loading TLS ca certs at [%s]: [%s]" , tlsintermediatecertsDir , err )
197
+ } else if len (tlsCACerts ) != 0 {
198
+ tlsIntermediateCerts , err = getPemMaterialFromDir (tlsintermediatecertsDir )
199
+ if os .IsNotExist (err ) {
200
+ mspLogger .Warningf ("TLS intermediate certs folder not found at [%s]. Skipping. [%s]" , tlsintermediatecertsDir , err )
201
+ } else if err != nil {
202
+ return nil , fmt .Errorf ("Failed loading TLS intermediate ca certs at [%s]: [%s]" , tlsintermediatecertsDir , err )
203
+ }
204
+ } else {
205
+ mspLogger .Warningf ("TLS CA certs folder at [%s] is empty. Skipping." , tlsintermediatecertsDir )
206
+ }
207
+
187
208
crls , err := getPemMaterialFromDir (crlsDir )
188
209
if os .IsNotExist (err ) {
189
- mspLogger .Infof ("crls folder not found at [%s]. Skipping.: [%s]" , intermediatecertsDir , err )
210
+ mspLogger .Warningf ("crls folder not found at [%s]. Skipping. [%s]" , crlsDir , err )
190
211
} else if err != nil {
191
- return nil , fmt .Errorf ("Failed loading crls ca certs at [%s]: [%s]" , intermediatecertsDir , err )
212
+ return nil , fmt .Errorf ("Failed loading crls at [%s]: [%s]" , crlsDir , err )
192
213
}
193
214
194
215
// Load configuration file
@@ -239,12 +260,15 @@ func getMspConfig(dir string, ID string, sigid *msp.SigningIdentityInfo) (*msp.M
239
260
fmspconf := & msp.FabricMSPConfig {
240
261
Admins : admincert ,
241
262
RootCerts : cacerts ,
242
- IntermediateCerts : intermediatecert ,
263
+ IntermediateCerts : intermediatecerts ,
243
264
SigningIdentity : sigid ,
244
265
Name : ID ,
245
266
OrganizationalUnitIdentifiers : ouis ,
246
267
RevocationList : crls ,
247
- CryptoConfig : cryptoConfig }
268
+ CryptoConfig : cryptoConfig ,
269
+ TlsRootCerts : tlsCACerts ,
270
+ TlsIntermediateCerts : tlsIntermediateCerts ,
271
+ }
248
272
249
273
fmpsjs , _ := proto .Marshal (fmspconf )
250
274
0 commit comments