Skip to content
This repository was archived by the owner on Apr 22, 2025. It is now read-only.

Commit 0c6ff37

Browse files
committed
FABJ-375 Enroll. interface not dependent on CA
Change-Id: I632f9b01ec54df2e52c0fa9b4b8d11f9f3a85aae Signed-off-by: rickr <cr22rc@gmail.com>
1 parent 47ff64e commit 0c6ff37

File tree

4 files changed

+33
-10
lines changed

4 files changed

+33
-10
lines changed

src/main/java/org/hyperledger/fabric/sdk/identity/IdentityFactory.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,15 @@ public static SigningIdentity getSigningIdentity(CryptoSuite cryptoSuite, User u
1313
Enrollment enrollment = user.getEnrollment();
1414

1515
try {
16-
if (enrollment instanceof X509Enrollment) {
16+
if (enrollment instanceof IdemixEnrollment) { // Need Idemix signer for this.
17+
return new IdemixSigningIdentity((IdemixEnrollment) enrollment);
18+
} else { // for now all others are x509
1719
return new X509SigningIdentity(cryptoSuite, user);
1820
}
1921

20-
if (enrollment instanceof IdemixEnrollment) {
21-
return new IdemixSigningIdentity((IdemixEnrollment) enrollment);
22-
}
2322
} catch (Exception e) {
2423
throw new IllegalStateException(e.getMessage(), e);
2524
}
26-
27-
throw new IllegalStateException("Invalid enrollment. Expected either X509Enrollment or IdemixEnrollment." + enrollment);
2825
}
2926

3027
}

src/test/fixture/sdkintegration/nodecc/sample1/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
},
1414
"license": "Apache-2.0",
1515
"dependencies": {
16-
"fabric-shim": "unstable"
16+
"fabric-shim": "~1.3.0"
1717
}
1818
}

src/test/fixture/sdkintegration/nodecc/sample_11/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
},
1414
"license": "Apache-2.0",
1515
"dependencies": {
16-
"fabric-shim": "unstable"
16+
"fabric-shim": "~1.3.0"
1717
}
1818
}

src/test/java/org/hyperledger/fabric/sdkintegration/SampleStore.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import org.hyperledger.fabric.sdk.Enrollment;
4646
import org.hyperledger.fabric.sdk.HFClient;
4747
import org.hyperledger.fabric.sdk.exception.InvalidArgumentException;
48-
import org.hyperledger.fabric.sdk.identity.X509Enrollment;
4948
import org.hyperledger.fabric.sdk.security.CryptoSuite;
5049

5150
/**
@@ -192,7 +191,7 @@ public SampleUser getMember(String name, String org, String mspId, File privateK
192191

193192
PrivateKey privateKey = getPrivateKeyFromBytes(IOUtils.toByteArray(new FileInputStream(privateKeyFile)));
194193

195-
sampleUser.setEnrollment(new X509Enrollment(privateKey, certificate));
194+
sampleUser.setEnrollment(new SampleStoreEnrollement(privateKey, certificate));
196195

197196
sampleUser.saveState();
198197

@@ -234,6 +233,33 @@ static PrivateKey getPrivateKeyFromBytes(byte[] data) throws IOException, NoSuch
234233
return privateKey;
235234
}
236235

236+
// Use this to make sure SDK is not dependent on HFCA enrollment for non-Idemix
237+
static final class SampleStoreEnrollement implements Enrollment, Serializable {
238+
239+
private static final long serialVersionUID = -2784835212445309006L;
240+
private final PrivateKey privateKey;
241+
private final String certificate;
242+
243+
SampleStoreEnrollement(PrivateKey privateKey, String certificate) {
244+
245+
this.certificate = certificate;
246+
247+
this.privateKey = privateKey;
248+
}
249+
250+
@Override
251+
public PrivateKey getKey() {
252+
253+
return privateKey;
254+
}
255+
256+
@Override
257+
public String getCert() {
258+
return certificate;
259+
}
260+
261+
}
262+
237263
void saveChannel(Channel channel) throws IOException, InvalidArgumentException {
238264

239265
setValue("channel." + channel.getName(), Hex.toHexString(channel.serializeChannel()));

0 commit comments

Comments
 (0)