ecutil.java

来自「bouncycastle 是一个JAVA安全提供者」· Java 代码 · 共 55 行

JAVA
55
字号
package org.bouncycastle.jce.provider;import java.security.InvalidKeyException;import java.security.PrivateKey;import java.security.PublicKey;import org.bouncycastle.crypto.params.AsymmetricKeyParameter;import org.bouncycastle.crypto.params.ECDomainParameters;import org.bouncycastle.crypto.params.ECPrivateKeyParameters;import org.bouncycastle.crypto.params.ECPublicKeyParameters;import org.bouncycastle.jce.interfaces.ECPrivateKey;import org.bouncycastle.jce.interfaces.ECPublicKey;import org.bouncycastle.jce.spec.ECParameterSpec;/** * utility class for converting jce/jca ECDSA, ECDH, and ECDHC * objects into their org.bouncycastle.crypto counterparts. */public class ECUtil{    static public AsymmetricKeyParameter generatePublicKeyParameter(        PublicKey    key)        throws InvalidKeyException    {        if (key instanceof ECPublicKey)        {            ECPublicKey    k = (ECPublicKey)key;            ECParameterSpec s = k.getParameters();            return new ECPublicKeyParameters(                            k.getQ(),                            new ECDomainParameters(s.getCurve(), s.getG(), s.getN()));        }        throw new InvalidKeyException("can't identify EC public key.");    }    static public AsymmetricKeyParameter generatePrivateKeyParameter(        PrivateKey    key)        throws InvalidKeyException    {        if (key instanceof ECPrivateKey)        {            ECPrivateKey  k = (ECPrivateKey)key;            ECParameterSpec s = k.getParameters();            return new ECPrivateKeyParameters(                            k.getD(),                            new ECDomainParameters(s.getCurve(), s.getG(), s.getN()));        }                                throw new InvalidKeyException("can't identify EC private key.");    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?