use of com.github.zhenwei.core.asn1.x9.DomainParameters in project LinLong-Java by zhenwei1108.
the class ECUtil method getDomainParameters.
public static ECDomainParameters getDomainParameters(ProviderConfiguration configuration, com.github.zhenwei.provider.jce.spec.ECParameterSpec params) {
ECDomainParameters domainParameters;
if (params instanceof ECNamedCurveParameterSpec) {
ECNamedCurveParameterSpec nParams = (ECNamedCurveParameterSpec) params;
ASN1ObjectIdentifier nameOid = ECUtil.getNamedCurveOid(nParams.getName());
domainParameters = new ECNamedDomainParameters(nameOid, nParams.getCurve(), nParams.getG(), nParams.getN(), nParams.getH(), nParams.getSeed());
} else if (params == null) {
com.github.zhenwei.provider.jce.spec.ECParameterSpec iSpec = configuration.getEcImplicitlyCa();
domainParameters = new ECDomainParameters(iSpec.getCurve(), iSpec.getG(), iSpec.getN(), iSpec.getH(), iSpec.getSeed());
} else {
domainParameters = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH(), params.getSeed());
}
return domainParameters;
}
use of com.github.zhenwei.core.asn1.x9.DomainParameters in project LinLong-Java by zhenwei1108.
the class BCDHPrivateKey method getEncoded.
/**
* Return a PKCS8 representation of the key. The sequence returned represents a full
* PrivateKeyInfo object.
*
* @return a PKCS8 representation of the key.
*/
public byte[] getEncoded() {
try {
if (info != null) {
return info.getEncoded(ASN1Encoding.DER);
}
PrivateKeyInfo info;
if (dhSpec instanceof DHDomainParameterSpec && ((DHDomainParameterSpec) dhSpec).getQ() != null) {
DHParameters params = ((DHDomainParameterSpec) dhSpec).getDomainParameters();
DHValidationParameters validationParameters = params.getValidationParameters();
ValidationParams vParams = null;
if (validationParameters != null) {
vParams = new ValidationParams(validationParameters.getSeed(), validationParameters.getCounter());
}
info = new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.dhpublicnumber, new DomainParameters(params.getP(), params.getG(), params.getQ(), params.getJ(), vParams).toASN1Primitive()), new ASN1Integer(getX()));
} else {
info = new PrivateKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.dhKeyAgreement, new DHParameter(dhSpec.getP(), dhSpec.getG(), dhSpec.getL()).toASN1Primitive()), new ASN1Integer(getX()));
}
return info.getEncoded(ASN1Encoding.DER);
} catch (Exception e) {
return null;
}
}
use of com.github.zhenwei.core.asn1.x9.DomainParameters in project LinLong-Java by zhenwei1108.
the class BCDHPublicKey method getEncoded.
public byte[] getEncoded() {
if (info != null) {
return KeyUtil.getEncodedSubjectPublicKeyInfo(info);
}
if (dhSpec instanceof DHDomainParameterSpec && ((DHDomainParameterSpec) dhSpec).getQ() != null) {
DHParameters params = ((DHDomainParameterSpec) dhSpec).getDomainParameters();
DHValidationParameters validationParameters = params.getValidationParameters();
ValidationParams vParams = null;
if (validationParameters != null) {
vParams = new ValidationParams(validationParameters.getSeed(), validationParameters.getCounter());
}
return KeyUtil.getEncodedSubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.dhpublicnumber, new DomainParameters(params.getP(), params.getG(), params.getQ(), params.getJ(), vParams).toASN1Primitive()), new ASN1Integer(y));
}
return KeyUtil.getEncodedSubjectPublicKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.dhKeyAgreement, new DHParameter(dhSpec.getP(), dhSpec.getG(), dhSpec.getL()).toASN1Primitive()), new ASN1Integer(y));
}
use of com.github.zhenwei.core.asn1.x9.DomainParameters in project jiguang-java-client-common by jpush.
the class BCECUtil method getDomainParametersFromName.
/**
* copy from BC
*
* @param curveName
* @return
*/
public static X9ECParameters getDomainParametersFromName(String curveName) {
X9ECParameters domainParameters;
try {
if (curveName.charAt(0) >= '0' && curveName.charAt(0) <= '2') {
ASN1ObjectIdentifier oidID = new ASN1ObjectIdentifier(curveName);
domainParameters = ECUtil.getNamedCurveByOid(oidID);
} else {
if (curveName.indexOf(' ') > 0) {
curveName = curveName.substring(curveName.indexOf(' ') + 1);
domainParameters = ECUtil.getNamedCurveByName(curveName);
} else {
domainParameters = ECUtil.getNamedCurveByName(curveName);
}
}
} catch (IllegalArgumentException ex) {
domainParameters = ECUtil.getNamedCurveByName(curveName);
}
return domainParameters;
}
use of com.github.zhenwei.core.asn1.x9.DomainParameters in project opb-sdk-java by bianjieai.
the class BCECUtils method getDomainParametersFromName.
/**
* copy from BC
*
* @param curveName
* @return
*/
public static X9ECParameters getDomainParametersFromName(String curveName) {
X9ECParameters domainParameters;
try {
if (curveName.charAt(0) >= '0' && curveName.charAt(0) <= '2') {
ASN1ObjectIdentifier oidID = new ASN1ObjectIdentifier(curveName);
domainParameters = ECUtil.getNamedCurveByOid(oidID);
} else {
if (curveName.indexOf(' ') > 0) {
curveName = curveName.substring(curveName.indexOf(' ') + 1);
domainParameters = ECUtil.getNamedCurveByName(curveName);
} else {
domainParameters = ECUtil.getNamedCurveByName(curveName);
}
}
} catch (IllegalArgumentException ex) {
domainParameters = ECUtil.getNamedCurveByName(curveName);
}
return domainParameters;
}
Aggregations