@@ -22,41 +22,24 @@ type Deserializer struct {
22
22
* msp2.Deserializer
23
23
}
24
24
25
- // NewDeserializer returns a new deserializer for the idemix ExpectEidNymRhNym verification strategy
26
- func NewDeserializer (
25
+ // NewEidNymRhNymDeserializer returns a new deserializer that expects EID and RH Nyms identities.
26
+ // The returned deserializer checks the validly of the deserialized identities.
27
+ func NewEidNymRhNymDeserializer (
27
28
sm SchemaManager ,
28
29
schema string ,
29
30
ipk []byte ,
30
31
curveID math.CurveID ,
31
32
) (* Deserializer , error ) {
32
- logger .Debugf ("new deserialized for dlog idemix" )
33
33
cryptoProvider , err := msp2 .NewBCCSPWithDummyKeyStore (curveID , curveID == math .BLS12_381_BBS )
34
34
if err != nil {
35
35
return nil , errors .WithMessagef (err , "failed to instantiate crypto provider for curve [%d]" , curveID )
36
36
}
37
- return NewDeserializerWithProvider (sm , schema , ipk , csp .ExpectEidNymRhNym , nil , cryptoProvider )
37
+ return NewDeserializer (sm , schema , ipk , csp .ExpectEidNymRhNym , nil , cryptoProvider )
38
38
}
39
39
40
- // NewDeserializerWithProvider returns a new serialized for the passed arguments
41
- func NewDeserializerWithProvider (
42
- sm SchemaManager ,
43
- schema string ,
44
- ipk []byte ,
45
- verType csp.VerificationType ,
46
- nymEID []byte ,
47
- cryptoProvider csp.BCCSP ,
48
- ) (* Deserializer , error ) {
49
- return NewDeserializerWithBCCSP (
50
- sm ,
51
- schema ,
52
- ipk ,
53
- verType ,
54
- nymEID ,
55
- cryptoProvider ,
56
- )
57
- }
58
-
59
- func NewDeserializerWithBCCSP (
40
+ // NewDeserializer returns a new deserializer for the passed arguments.
41
+ // The returned deserializer checks the validly of the deserialized identities.
42
+ func NewDeserializer (
60
43
sm SchemaManager ,
61
44
schema string ,
62
45
ipk []byte ,
@@ -67,20 +50,21 @@ func NewDeserializerWithBCCSP(
67
50
logger .Debugf ("Setting up Idemix-based MSP instance" )
68
51
69
52
// Import Issuer Public Key
53
+ if len (ipk ) == 0 {
54
+ return nil , errors .Errorf ("no issuer public key provided" )
55
+ }
70
56
var issuerPublicKey csp.Key
71
- if len (ipk ) != 0 {
72
- // get the opts from the schema manager
73
- opts , err := sm .PublicKeyImportOpts (schema )
74
- if err != nil {
75
- return nil , errors .Wrapf (err , "could not obtain PublicKeyImportOpts for schema '%s'" , schema )
76
- }
77
- issuerPublicKey , err = cryptoProvider .KeyImport (
78
- ipk ,
79
- opts ,
80
- )
81
- if err != nil {
82
- return nil , err
83
- }
57
+ // get the opts from the schema manager
58
+ opts , err := sm .PublicKeyImportOpts (schema )
59
+ if err != nil {
60
+ return nil , errors .Wrapf (err , "could not obtain PublicKeyImportOpts for schema '%s'" , schema )
61
+ }
62
+ issuerPublicKey , err = cryptoProvider .KeyImport (
63
+ ipk ,
64
+ opts ,
65
+ )
66
+ if err != nil {
67
+ return nil , err
84
68
}
85
69
86
70
return & Deserializer {
@@ -97,7 +81,7 @@ func NewDeserializerWithBCCSP(
97
81
}
98
82
99
83
func (d * Deserializer ) DeserializeVerifier (raw driver.Identity ) (driver.Verifier , error ) {
100
- identity , err := d .Deserialize (raw , true )
84
+ identity , err := d .Deserialize (raw )
101
85
if err != nil {
102
86
return nil , err
103
87
}
@@ -111,8 +95,16 @@ func (d *Deserializer) DeserializeVerifier(raw driver.Identity) (driver.Verifier
111
95
}, nil
112
96
}
113
97
98
+ func (d * Deserializer ) DeserializeAuditInfo (raw []byte ) (driver2.AuditInfo , error ) {
99
+ return d .Deserializer .DeserializeAuditInfo (raw )
100
+ }
101
+
102
+ func (d * Deserializer ) GetOwnerMatcher (raw []byte ) (driver.Matcher , error ) {
103
+ return d .Deserializer .DeserializeAuditInfo (raw )
104
+ }
105
+
114
106
func (d * Deserializer ) DeserializeVerifierAgainstNymEID (raw []byte , nymEID []byte ) (driver.Verifier , error ) {
115
- identity , err := d .Deserializer .DeserializeAgainstNymEID (raw , true , nymEID )
107
+ identity , err := d .Deserializer .DeserializeAgainstNymEID (raw , nymEID )
116
108
if err != nil {
117
109
return nil , err
118
110
}
@@ -126,49 +118,6 @@ func (d *Deserializer) DeserializeVerifierAgainstNymEID(raw []byte, nymEID []byt
126
118
}, nil
127
119
}
128
120
129
- func (d * Deserializer ) DeserializeSigner (raw []byte ) (driver.Signer , error ) {
130
- return nil , errors .New ("not supported" )
131
- }
132
-
133
- func (d * Deserializer ) DeserializeAuditInfo (raw []byte ) (driver2.AuditInfo , error ) {
134
- return d .Deserializer .DeserializeAuditInfo (raw )
135
- }
136
-
137
- func (d * Deserializer ) GetOwnerMatcher (raw []byte ) (driver.Matcher , error ) {
138
- return d .Deserializer .DeserializeAuditInfo (raw )
139
- }
140
-
141
- func (d * Deserializer ) GetOwnerAuditInfo (raw []byte , p driver.AuditInfoProvider ) ([][]byte , error ) {
142
- auditInfo , err := p .GetAuditInfo (raw )
143
- if err != nil {
144
- return nil , errors .Wrapf (err , "failed getting audit info for recipient identity [%s]" , driver .Identity (raw ).String ())
145
- }
146
- return [][]byte {auditInfo }, nil
147
- }
148
-
149
- func (d * Deserializer ) Info (raw []byte , auditInfo []byte ) (string , error ) {
150
- r , err := d .Deserialize (raw , false )
151
- if err != nil {
152
- return "" , err
153
- }
154
-
155
- eid := ""
156
- if len (auditInfo ) != 0 {
157
- ai , err := msp2 .DeserializeAuditInfo (auditInfo )
158
- if err != nil {
159
- return "" , err
160
- }
161
- ai .SchemaManager = d .Deserializer .SchemaManager
162
- ai .Schema = d .Deserializer .Schema
163
- if err := ai .Match (raw ); err != nil {
164
- return "" , err
165
- }
166
- eid = ai .EnrollmentID ()
167
- }
168
-
169
- return fmt .Sprintf ("MSP.Idemix: [%s][%s][%s][%s][%s]" , eid , driver .Identity (raw ).UniqueID (), r .SerializedIdentity .Mspid , r .OU .OrganizationalUnitIdentifier , r .Role .Role .String ()), nil
170
- }
171
-
172
121
func (d * Deserializer ) String () string {
173
122
return fmt .Sprintf ("Idemix with IPK [%s]" , hash .Hashable (d .Ipk ).String ())
174
123
}
0 commit comments