org.spongycastle.asn1.x9.X9ECParameters.toASN1Primitive()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(132)

本文整理了Java中org.spongycastle.asn1.x9.X9ECParameters.toASN1Primitive()方法的一些代码示例,展示了X9ECParameters.toASN1Primitive()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。X9ECParameters.toASN1Primitive()方法的具体详情如下:
包路径:org.spongycastle.asn1.x9.X9ECParameters
类名称:X9ECParameters
方法名:toASN1Primitive

X9ECParameters.toASN1Primitive介绍

[英]Produce an object suitable for an ASN1OutputStream.

ECParameters ::= SEQUENCE { 
version         INTEGER { ecpVer1(1) } (ecpVer1), 
fieldID         FieldID {{FieldTypes}}, 
curve           X9Curve, 
base            X9ECPoint, 
order           INTEGER, 
cofactor        INTEGER OPTIONAL 
}

[中]生成适合ASN1OutputStream的对象

ECParameters ::= SEQUENCE { 
version         INTEGER { ecpVer1(1) } (ecpVer1), 
fieldID         FieldID {{FieldTypes}}, 
curve           X9Curve, 
base            X9ECPoint, 
order           INTEGER, 
cofactor        INTEGER OPTIONAL 
}

代码示例

代码示例来源:origin: com.madgag.spongycastle/core

public X962Parameters(
  X9ECParameters      ecParameters)
{
  this.params = ecParameters.toASN1Primitive();
}

代码示例来源:origin: com.madgag/sc-light-jdk15on

public X962Parameters(
  X9ECParameters      ecParameters)
{
  this.params = ecParameters.toASN1Primitive();
}

代码示例来源:origin: com.google/bitcoinj

/**
 * Output this ECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by the BitCoin reference
 * implementation in its wallet storage format.
 */
public byte[] toASN1() {
  try {
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(priv.toByteArray()));
    seq.addObject(new DERTaggedObject(0, SECNamedCurves.getByName("secp256k1").toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

代码示例来源:origin: cash.bitcoinj/bitcoinj-core

/**
 * Output this ECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by Bitcoin Core
 * in its wallet storage format.
 * @throws org.bitcoinj.core.ECKey.MissingPrivateKeyException if the private key is missing or encrypted.
 */
public byte[] toASN1() {
  try {
    byte[] privKeyBytes = getPrivKeyBytes();
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(privKeyBytes));
    seq.addObject(new DERTaggedObject(0, CURVE_PARAMS.toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

代码示例来源:origin: fr.acinq/bitcoinj-core

/**
 * Output this ECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by Bitcoin Core
 * in its wallet storage format.
 * @throws org.bitcoinj.core.ECKey.MissingPrivateKeyException if the private key is missing or encrypted.
 */
public byte[] toASN1() {
  try {
    byte[] privKeyBytes = getPrivKeyBytes();
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(privKeyBytes));
    seq.addObject(new DERTaggedObject(0, CURVE_PARAMS.toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

代码示例来源:origin: greenaddress/GreenBits

/**
 * Output this ECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by Bitcoin Core
 * in its wallet storage format.
 * @throws org.bitcoinj.core.ECKey.MissingPrivateKeyException if the private key is missing or encrypted.
 */
public byte[] toASN1() {
  try {
    byte[] privKeyBytes = getPrivKeyBytes();
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(privKeyBytes));
    seq.addObject(new DERTaggedObject(0, CURVE_PARAMS.toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

代码示例来源:origin: HashEngineering/dashj

/**
 * Output this ECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by Bitcoin Core
 * in its wallet storage format.
 * @throws org.bitcoinj.core.ECKey.MissingPrivateKeyException if the private key is missing or encrypted.
 */
public byte[] toASN1() {
  try {
    byte[] privKeyBytes = getPrivKeyBytes();
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(privKeyBytes));
    seq.addObject(new DERTaggedObject(0, CURVE_PARAMS.toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

代码示例来源:origin: UlordChain/ulordj-thin

/**
 * Output this UldECKey as an ASN.1 encoded private key, as understood by OpenSSL or used by Bitcoin Core
 * in its wallet storage format.
 * @throws UldECKey.MissingPrivateKeyException if the private key is missing or encrypted.
 */
public byte[] toASN1() {
  try {
    byte[] privKeyBytes = getPrivKeyBytes();
    ByteArrayOutputStream baos = new ByteArrayOutputStream(400);
    // ASN1_SEQUENCE(EC_PRIVATEKEY) = {
    //   ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
    //   ASN1_SIMPLE(EC_PRIVATEKEY, privateKey, ASN1_OCTET_STRING),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, parameters, ECPKPARAMETERS, 0),
    //   ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1)
    // } ASN1_SEQUENCE_END(EC_PRIVATEKEY)
    DERSequenceGenerator seq = new DERSequenceGenerator(baos);
    seq.addObject(new ASN1Integer(1)); // version
    seq.addObject(new DEROctetString(privKeyBytes));
    seq.addObject(new DERTaggedObject(0, CURVE_PARAMS.toASN1Primitive()));
    seq.addObject(new DERTaggedObject(1, new DERBitString(getPubKey())));
    seq.close();
    return baos.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);  // Cannot happen, writing to memory stream.
  }
}

相关文章