Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 24 additions & 21 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ ext {
toml4jVersion = "0.7.2"
bcprovJDK15onVersion = "1.60"
keyMiniToolkit = "1.0-SNAPSHOT"

solcJVersion = "0.4.25.1"
//solcJVersion = "0.5.2.0"
//solcJVersion = "0.6.10.0"
slf4jVersion = "1.7.30"
junitVersion = "4.12"
commonsCollections4Version = "4.4"
guavaVersion = "29.0-jre"
}

// check.dependsOn integrationTest
Expand Down Expand Up @@ -59,8 +67,8 @@ allprojects {
}

dependencies {
compile 'org.slf4j:slf4j-api:1.7.30'
testCompile 'junit:junit:4.12'
compile ("org.slf4j:slf4j-api:${slf4jVersion}")
testCompile ("junit:junit:${junitVersion}")
}

clean.doLast {
Expand Down Expand Up @@ -159,25 +167,20 @@ task integrationTest(type: Test) {
}

dependencies {
compile 'org.bouncycastle:bcprov-jdk15on:1.60'
compile 'org.apache.commons:commons-lang3:3.1'
compile 'io.netty:netty-all:4.1.50.Final'
compile 'org.fisco-bcos:netty-sm-ssl-context:1.0.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.11.0'
compile group: 'commons-codec', name: 'commons-codec', version: '1.14'
compile 'org.slf4j:slf4j-api:1.7.30'
compile 'com.google.guava:guava:29.0-jre'
compile 'org.apache.commons:commons-collections4:4.4'
compile 'commons-io:commons-io:2.4'
compile 'com.squareup:javapoet:1.7.0'
compile 'info.picocli:picocli:3.6.0'
compile 'org.fisco-bcos:solcJ:0.4.25.1'
//compile 'org.fisco-bcos:solcJ:0.6.10.0'
//compile 'org.fisco-bcos:solcJ:0.5.2.0'
compile 'com.webank:key-mini-toolkit:1.0-SNAPSHOT'
compile 'com.moandjiezana.toml:toml4j:0.7.2'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.23.0'
compile ("org.bouncycastle:bcprov-jdk15on:${bcprovJDK15onVersion}")
compile ("org.apache.commons:commons-lang3:${commonsLang3Version}")
compile ("io.netty:netty-all:${nettyVersion}")
compile ("org.fisco-bcos:netty-sm-ssl-context:${nettySMSSLContextVersion}")
compile ("com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}")
compile ("commons-io:commons-io:${commonsIOVersion}")
compile ("com.squareup:javapoet:${javapoetVersion}")
compile ("info.picocli:picocli:${picocliVersion}")
compile ("com.webank:key-mini-toolkit:${keyMiniToolkit}")
compile ("com.moandjiezana.toml:toml4j:${toml4jVersion}")

testCompile ("org.apache.commons:commons-collections4:${commonsCollections4Version}")
testCompile ("org.fisco-bcos:solcJ:${solcJVersion}")
testCompile ("com.google.guava:guava:${guavaVersion}")
}
googleJavaFormat {
options style: 'AOSP'
Expand Down
10 changes: 5 additions & 5 deletions sdk-amop/src/main/java/org/fisco/bcos/sdk/amop/AmopImp.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
import org.fisco.bcos.sdk.config.ConfigOption;
import org.fisco.bcos.sdk.config.model.AmopTopic;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.P12Manager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.P12KeyStore;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.fisco.bcos.sdk.model.AmopMsg;
import org.fisco.bcos.sdk.model.Message;
import org.fisco.bcos.sdk.model.MsgType;
Expand Down Expand Up @@ -247,15 +247,15 @@ private void loadConfiguredTopics(ConfigOption config) throws AmopException {
KeyManager km;

if (privKeyFile.endsWith("p12")) {
km = new P12Manager(privKeyFile, topic.getPassword());
km = new P12KeyStore(privKeyFile, topic.getPassword());
} else {
km = new PEMManager(privKeyFile);
km = new PEMKeyStore(privKeyFile);
}
topicManager.addPrivateTopicSubscribe(topic.getTopicName(), km, null);
} else if (null != topic.getPublicKeys()) {
List<KeyManager> pubList = new ArrayList<>();
for (String pubKey : topic.getPublicKeys()) {
KeyManager km = new PEMManager(pubKey);
KeyManager km = new PEMKeyStore(pubKey);
pubList.add(km);
}
topicManager.addPrivateTopicSend(topic.getTopicName(), pubList);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import org.fisco.bcos.sdk.channel.ResponseCallback;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.P12Manager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.P12KeyStore;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.fisco.bcos.sdk.model.AmopMsg;
import org.fisco.bcos.sdk.model.CryptoType;
import org.fisco.bcos.sdk.model.Message;
Expand Down Expand Up @@ -104,7 +104,7 @@ public void testSignRandom() throws JsonProcessingException {
.getResource(
"keystore/ecdsa/0x45e14c53197adbcb719d915fb93342c25600faaf.public.pem")
.getPath();
KeyManager km = new PEMManager(keyFile);
KeyManager km = new PEMKeyStore(keyFile);
Assert.assertTrue(
cryptoInterface.verify(
km,
Expand Down Expand Up @@ -177,7 +177,7 @@ private void initEnv() {
.getResource(
"keystore/ecdsa/0x45e14c53197adbcb719d915fb93342c25600faaf.public.pem")
.getPath();
list.add(new PEMManager(keyFile));
list.add(new PEMKeyStore(keyFile));
topicManagerSender.addPrivateTopicSend("priv1", list);

TopicManager topicManagerSub;
Expand All @@ -189,7 +189,7 @@ private void initEnv() {
.getResource(
"keystore/ecdsa/0x45e14c53197adbcb719d915fb93342c25600faaf.p12")
.getPath();
topicManagerSub.addPrivateTopicSubscribe("priv1", new P12Manager(privKey, "123456"), null);
topicManagerSub.addPrivateTopicSubscribe("priv1", new P12KeyStore(privKey, "123456"), null);
}

private AmopMsg getAmopMsg(String topic, byte[] content) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.fisco.bcos.sdk.amop.topic.AmopMsgIn;
import org.fisco.bcos.sdk.amop.topic.TopicManager;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.junit.Assert;
import org.junit.Test;

Expand All @@ -42,7 +42,7 @@ public void testAddTopic() {
.getResource(
"keystore/ecdsa/0x0fc3c4bb89bd90299db4c62be0174c4966286c00.pem")
.getPath();
KeyManager km = new PEMManager(keyFile);
KeyManager km = new PEMKeyStore(keyFile);
topicManager.addPrivateTopicSubscribe("priv", km, null);
Assert.assertEquals(
"#!$TopicNeedVerify_priv",
Expand Down Expand Up @@ -151,7 +151,7 @@ private TopicManager getTestTopicManager() {
.getResource(
"keystore/ecdsa/0x0fc3c4bb89bd90299db4c62be0174c4966286c00.pem")
.getPath();
KeyManager km = new PEMManager(keyFile);
KeyManager km = new PEMKeyStore(keyFile);
topicManager.addPrivateTopicSubscribe("priv", km, null);
List<KeyManager> list = new ArrayList<>();
list.add(km);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
import org.fisco.bcos.sdk.codegen.exceptions.CodeGenException;
import org.fisco.bcos.sdk.contract.Contract;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.keypair.CryptoKeyPair;
import org.fisco.bcos.sdk.eventsub.EventCallback;
import org.fisco.bcos.sdk.model.CryptoType;
import org.fisco.bcos.sdk.model.TransactionReceipt;
Expand Down Expand Up @@ -84,6 +85,7 @@ public class SolidityContractWrapper {
private static final String GET_BINARY_FUNC = "getBinary";
private static final String CLIENT = "client";
private static final String CREDENTIAL = "credential";
private static final String CRYPTOINTERFACE = "cryptoInterface";
private static final String CONTRACT_ADDRESS = "contractAddress";
private static final String FROM_BLOCK = "fromBlock";
private static final String TO_BLOCK = "toBlock";
Expand Down Expand Up @@ -119,12 +121,12 @@ public void generateJavaFiles(
TypeSpec.Builder classBuilder = createClassBuilder(className, bin, smBin, abi);

classBuilder.addMethod(
buildGetBinaryMethod(CryptoInterface.class, CryptoType.class, CREDENTIAL));
classBuilder.addMethod(buildConstructor(CryptoInterface.class, CREDENTIAL));
buildGetBinaryMethod(CryptoInterface.class, CryptoType.class, CRYPTOINTERFACE));
classBuilder.addMethod(buildConstructor(CryptoKeyPair.class, CREDENTIAL));

classBuilder.addFields(buildFuncNameConstants(abiDefinitions));
classBuilder.addMethods(buildFunctionDefinitions(classBuilder, abiDefinitions));
classBuilder.addMethod(buildLoad(className, CryptoInterface.class, CREDENTIAL));
classBuilder.addMethod(buildLoad(className, CryptoKeyPair.class, CREDENTIAL));
classBuilder.addMethods(buildDeployMethods(className, abiDefinitions));

write(basePackageName, classBuilder.build(), destinationDir);
Expand Down Expand Up @@ -278,13 +280,13 @@ private List<MethodSpec> buildDeployMethods(
constructor = true;
methodSpecs.add(
buildDeploy(
className, functionDefinition, CryptoInterface.class, CREDENTIAL));
className, functionDefinition, CryptoKeyPair.class, CREDENTIAL));
}
}
// constructor will not be specified in ABI file if its empty
if (!constructor) {
MethodSpec.Builder credentialsMethodBuilder =
getDeployMethodSpec(className, CryptoInterface.class, CREDENTIAL);
getDeployMethodSpec(className, CryptoKeyPair.class, CREDENTIAL);
methodSpecs.add(buildDeployNoParams(credentialsMethodBuilder, className, CREDENTIAL));
}
return methodSpecs;
Expand Down Expand Up @@ -343,7 +345,7 @@ private static MethodSpec buildConstructor(Class authType, String authName) {
.addParameter(authType, authName)
.addStatement(
"super($N, $N, $N, $N)",
getBinaryFuncDefinition(authName),
getBinaryFuncDefinition(),
CONTRACT_ADDRESS,
CLIENT,
authName);
Expand Down Expand Up @@ -381,7 +383,7 @@ private static MethodSpec buildDeployWithParams(
className,
CLIENT,
authName,
getBinaryFuncDefinition(authName));
getBinaryFuncDefinition());
return methodBuilder.build();
}

Expand All @@ -392,7 +394,7 @@ private static MethodSpec buildDeployNoParams(
className,
CLIENT,
authName,
getBinaryFuncDefinition(authName));
getBinaryFuncDefinition());
return methodBuilder.build();
}

Expand Down Expand Up @@ -1415,7 +1417,7 @@ public boolean isIndexed() {
}
}

private static String getBinaryFuncDefinition(String authName) {
return GET_BINARY_FUNC + "(" + authName + ")";
private static String getBinaryFuncDefinition() {
return GET_BINARY_FUNC + "(client.getCryptoInterface())";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import org.fisco.bcos.sdk.crypto.keypair.ECDSAKeyPair;
import org.fisco.bcos.sdk.crypto.keypair.SM2KeyPair;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.P12Manager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.P12KeyStore;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.fisco.bcos.sdk.crypto.signature.ECDSASignature;
import org.fisco.bcos.sdk.crypto.signature.SM2Signature;
import org.fisco.bcos.sdk.crypto.signature.Signature;
Expand Down Expand Up @@ -90,9 +90,9 @@ public CryptoInterface(int cryptoTypeConfig) {
public void loadAccount(String accountFileFormat, String accountFilePath, String password) {
KeyManager keyManager = null;
if (accountFileFormat.compareToIgnoreCase("p12") == 0) {
keyManager = new P12Manager(accountFilePath, password);
keyManager = new P12KeyStore(accountFilePath, password);
} else if (accountFileFormat.compareToIgnoreCase("pem") == 0) {
keyManager = new PEMManager(accountFilePath);
keyManager = new PEMKeyStore(accountFilePath);
} else {
throw new LoadKeyStoreException(
"unsupported account file format : "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import org.fisco.bcos.sdk.crypto.exceptions.KeyPairException;
import org.fisco.bcos.sdk.crypto.hash.Hash;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.P12Manager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.P12KeyStore;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.fisco.bcos.sdk.utils.Hex;
import org.fisco.bcos.sdk.utils.Numeric;
import org.fisco.bcos.sdk.utils.StringUtils;
Expand Down Expand Up @@ -184,7 +184,7 @@ public byte[] getAddress(BigInteger publicKey) {
}

public void storeKeyPairWithPem(String keyStoreFilePath) {
PEMManager.storeKeyPairWithPemFormat(this.hexPrivateKey, keyStoreFilePath, curveName);
PEMKeyStore.storeKeyPairWithPemFormat(this.hexPrivateKey, keyStoreFilePath, curveName);
}

public void storeKeyPairWithPemFormat() {
Expand All @@ -202,7 +202,7 @@ public void storeKeyPairWithPemFormat() {
}

public void storeKeyPairWithP12(String p12FilePath, String password) {
P12Manager.storeKeyPairWithP12Format(
P12KeyStore.storeKeyPairWithP12Format(
this.hexPrivateKey, password, p12FilePath, curveName, signatureAlgorithm);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@
import org.fisco.bcos.sdk.crypto.exceptions.LoadKeyStoreException;
import org.fisco.bcos.sdk.crypto.exceptions.SaveKeyStoreException;

public class P12Manager extends KeyManager {
public class P12KeyStore extends KeyManager {
private static final String NAME = "key";
private KeyStore keyStore;

public P12Manager(final String keyStoreFile, final String password) {
public P12KeyStore(final String keyStoreFile, final String password) {
super(keyStoreFile, password);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@
import org.fisco.bcos.sdk.crypto.exceptions.LoadKeyStoreException;
import org.fisco.bcos.sdk.crypto.exceptions.SaveKeyStoreException;

public class PEMManager extends KeyManager {
public class PEMKeyStore extends KeyManager {
public static final String PRIVATE_KEY = "PRIVATE KEY";
private PemObject pem;

public PEMManager(final String keyStoreFile) {
public PEMKeyStore(final String keyStoreFile) {
super(keyStoreFile);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.fisco.bcos.sdk.test.crypto;
package org.fisco.bcos.sdk.crypto;

import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.exceptions.UnsupportedCryptoTypeException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.fisco.bcos.sdk.test.crypto;
package org.fisco.bcos.sdk.crypto;

import java.security.KeyPair;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.exceptions.LoadKeyStoreException;
import org.fisco.bcos.sdk.crypto.keypair.CryptoKeyPair;
import org.fisco.bcos.sdk.crypto.keystore.KeyManager;
import org.fisco.bcos.sdk.crypto.keystore.P12Manager;
import org.fisco.bcos.sdk.crypto.keystore.PEMManager;
import org.fisco.bcos.sdk.crypto.keystore.P12KeyStore;
import org.fisco.bcos.sdk.crypto.keystore.PEMKeyStore;
import org.fisco.bcos.sdk.model.CryptoType;
import org.junit.Assert;
import org.junit.Test;
Expand Down Expand Up @@ -155,14 +155,14 @@ private String getFilePath(String fileName) {
private CryptoKeyPair testLoadPEMFile(
String pemFileName, int cryptoType, String expectedAccount) {
// get KeyPair from the pem
KeyManager pem = new PEMManager(getFilePath(pemFileName));
KeyManager pem = new PEMKeyStore(getFilePath(pemFileName));
KeyPair keyPair = pem.getKeyPair();
return testSignature(keyPair, cryptoType, expectedAccount);
}

private CryptoKeyPair testLoadP12File(
String p12FileName, int cryptoType, String password, String expectedAccount) {
KeyManager p12 = new P12Manager(getFilePath(p12FileName), password);
KeyManager p12 = new P12KeyStore(getFilePath(p12FileName), password);
KeyPair keyPair = p12.getKeyPair();
return testSignature(keyPair, cryptoType, expectedAccount);
}
Expand Down
Loading