gitee.com/zhaochuninhefei/fabric-ca-gm@v0.0.2/lib/server/idemix/config.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package idemix 8 9 import ( 10 "path/filepath" 11 12 "gitee.com/zhaochuninhefei/fabric-ca-gm/internal/pkg/util" 13 ) 14 15 const ( 16 // DefaultIssuerPublicKeyFile is the default name of the file that contains issuer public key 17 DefaultIssuerPublicKeyFile = "IssuerPublicKey" 18 // DefaultIssuerSecretKeyFile is the default name of the file that contains issuer secret key 19 DefaultIssuerSecretKeyFile = "IssuerSecretKey" 20 // DefaultRevocationPublicKeyFile is the name of the file where revocation public key is stored 21 DefaultRevocationPublicKeyFile = "IssuerRevocationPublicKey" 22 // DefaultRevocationPrivateKeyFile is the name of the file where revocation private key is stored 23 DefaultRevocationPrivateKeyFile = "IssuerRevocationPrivateKey" 24 // KeystoreDir is the keystore directory where all keys are stored. It is relative to the server home directory. 25 KeystoreDir = "msp/keystore" 26 ) 27 28 // Config encapsulates Idemix related the configuration options 29 type Config struct { 30 IssuerPublicKeyfile string `def:"IssuerPublicKey" skip:"true" help:"Name of the file that contains marshalled bytes of CA's Idemix issuer public key"` 31 IssuerSecretKeyfile string `def:"IssuerSecretKey" skip:"true" help:"Name of the file that contains CA's Idemix issuer secret key"` 32 RevocationPublicKeyfile string `def:"IssuerRevocationPublicKey" skip:"true" help:"Name of the file that contains Idemix issuer revocation public key"` 33 RevocationPrivateKeyfile string `def:"IssuerRevocationPrivateKey" skip:"true" help:"Name of the file that contains Idemix issuer revocation private key"` 34 RHPoolSize int `def:"100" help:"Specifies revocation handle pool size"` 35 NonceExpiration string `def:"15s" help:"Duration after which a nonce expires"` 36 NonceSweepInterval string `def:"15m" help:"Interval at which expired nonces are deleted"` 37 } 38 39 // InitConfig initializes Idemix configuration 40 func (c *Config) init(homeDir string) error { 41 c.IssuerPublicKeyfile = DefaultIssuerPublicKeyFile 42 c.IssuerSecretKeyfile = filepath.Join(KeystoreDir, DefaultIssuerSecretKeyFile) 43 c.RevocationPublicKeyfile = DefaultRevocationPublicKeyFile 44 c.RevocationPrivateKeyfile = filepath.Join(KeystoreDir, DefaultRevocationPrivateKeyFile) 45 if c.RHPoolSize == 0 { 46 c.RHPoolSize = DefaultRevocationHandlePoolSize 47 } 48 if c.NonceExpiration == "" { 49 c.NonceExpiration = DefaultNonceExpiration 50 } 51 if c.NonceSweepInterval == "" { 52 c.NonceSweepInterval = DefaultNonceSweepInterval 53 } 54 fields := []*string{ 55 &c.IssuerPublicKeyfile, 56 &c.IssuerSecretKeyfile, 57 &c.RevocationPublicKeyfile, 58 &c.RevocationPrivateKeyfile, 59 } 60 err := util.MakeFileNamesAbsolute(fields, homeDir) 61 if err != nil { 62 return err 63 } 64 return nil 65 }