Java 类org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo 实例源码

项目:ipack    文件:PKCS8EncryptedPrivateKeyInfoBuilder.java   
public PKCS8EncryptedPrivateKeyInfo build(
    OutputEncryptor encryptor)
{
    try
    {
        ByteArrayOutputStream bOut = new ByteArrayOutputStream();
        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(privateKeyInfo.getEncoded());

        cOut.close();

        return new PKCS8EncryptedPrivateKeyInfo(new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray()));
    }
    catch (IOException e)
    {
        throw new IllegalStateException("cannot encode privateKeyInfo");
    }
}
项目:gwt-crypto    文件:PKCS8EncryptedPrivateKeyInfoBuilder.java   
public PKCS8EncryptedPrivateKeyInfo build(
    OutputEncryptor encryptor)
{
    try
    {
        ByteArrayOutputStream bOut = new ByteArrayOutputStream();
        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(privateKeyInfo.getEncoded());

        cOut.close();

        return new PKCS8EncryptedPrivateKeyInfo(new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray()));
    }
    catch (IOException e)
    {
        throw new IllegalStateException("cannot encode privateKeyInfo");
    }
}
项目:Aki-SSL    文件:PKCS8EncryptedPrivateKeyInfoBuilder.java   
public PKCS8EncryptedPrivateKeyInfo build(
    OutputEncryptor encryptor)
{
    try
    {
        ByteArrayOutputStream bOut = new ByteArrayOutputStream();
        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(privateKeyInfo.getEncoded());

        cOut.close();

        return new PKCS8EncryptedPrivateKeyInfo(new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray()));
    }
    catch (IOException e)
    {
        throw new IllegalStateException("cannot encode privateKeyInfo");
    }
}
项目:irma_future_id    文件:PKCS8EncryptedPrivateKeyInfoBuilder.java   
public PKCS8EncryptedPrivateKeyInfo build(
    OutputEncryptor encryptor)
{
    try
    {
        ByteArrayOutputStream bOut = new ByteArrayOutputStream();
        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(privateKeyInfo.getEncoded());

        cOut.close();

        return new PKCS8EncryptedPrivateKeyInfo(new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray()));
    }
    catch (IOException e)
    {
        throw new IllegalStateException("cannot encode privateKeyInfo");
    }
}
项目:bc-java    文件:PKCS8EncryptedPrivateKeyInfoBuilder.java   
public PKCS8EncryptedPrivateKeyInfo build(
    OutputEncryptor encryptor)
{
    try
    {
        ByteArrayOutputStream bOut = new ByteArrayOutputStream();
        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(privateKeyInfo.getEncoded());

        cOut.close();

        return new PKCS8EncryptedPrivateKeyInfo(new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray()));
    }
    catch (IOException e)
    {
        throw new IllegalStateException("cannot encode privateKeyInfo");
    }
}
项目:ipack    文件:PEMParser.java   
/**
 * Reads in an EncryptedPrivateKeyInfo
 *
 * @return the X509Certificate
 * @throws java.io.IOException if an I/O error occured
 */
public Object parseObject(PemObject obj)
    throws IOException
{
    try
    {
        return new PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo.getInstance(obj.getContent()));
    }
    catch (Exception e)
    {
        throw new PEMException("problem parsing ENCRYPTED PRIVATE KEY: " + e.toString(), e);
    }
}
项目:ipack    文件:PKCS8Generator.java   
private PemObject generate(PrivateKeyInfo key, OutputEncryptor encryptor)
    throws PemGenerationException
{
    try
    {
        byte[] keyData = key.getEncoded();

        if (encryptor == null)
        {
            return new PemObject("PRIVATE KEY", keyData);
        }

        ByteArrayOutputStream bOut = new ByteArrayOutputStream();

        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(key.getEncoded());

        cOut.close();

        EncryptedPrivateKeyInfo info = new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray());

        return new PemObject("ENCRYPTED PRIVATE KEY", info.getEncoded());
    }
    catch (IOException e)
    {
        throw new PemGenerationException("unable to process encoded key data: " + e.getMessage(), e);
    }
}
项目:Aki-SSL    文件:PEMParser.java   
/**
 * Reads in an EncryptedPrivateKeyInfo
 *
 * @return the X509Certificate
 * @throws java.io.IOException if an I/O error occured
 */
public Object parseObject(PemObject obj)
    throws IOException
{
    try
    {
        return new PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo.getInstance(obj.getContent()));
    }
    catch (Exception e)
    {
        throw new PEMException("problem parsing ENCRYPTED PRIVATE KEY: " + e.toString(), e);
    }
}
项目:Aki-SSL    文件:PKCS8Generator.java   
private PemObject generate(PrivateKeyInfo key, OutputEncryptor encryptor)
    throws PemGenerationException
{
    try
    {
        byte[] keyData = key.getEncoded();

        if (encryptor == null)
        {
            return new PemObject("PRIVATE KEY", keyData);
        }

        ByteArrayOutputStream bOut = new ByteArrayOutputStream();

        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(key.getEncoded());

        cOut.close();

        EncryptedPrivateKeyInfo info = new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray());

        return new PemObject("ENCRYPTED PRIVATE KEY", info.getEncoded());
    }
    catch (IOException e)
    {
        throw new PemGenerationException("unable to process encoded key data: " + e.getMessage(), e);
    }
}
项目:Java-Security    文件:PrivateKeyCredentialReader.java   
/**
 * Decrypts a DER-encoded private key in PKCS#8 format.
 *
 * @param encrypted
 *            Bytes of DER-encoded encrypted private key.
 * @param password
 *            Password to decrypt private key.
 *
 * @return ASN.1 encoded bytes of decrypted key.
 *
 * @throws CryptException
 *             On key decryption errors.
 */
private byte[] decryptPKCS8Key(final byte[] encrypted, final char[] password)
        throws CryptException {
    final EncryptionScheme scheme;
    try {
        final EncryptedPrivateKeyInfo ki = EncryptedPrivateKeyInfo
                .getInstance(ASN1Object.fromByteArray(encrypted));
        final AlgorithmIdentifier alg = ki.getEncryptionAlgorithm();
        if (PKCSObjectIdentifiers.id_PBES2.equals(alg.getObjectId())) {
            // PBES2 has following parameters:
            // {
            // {id-PBKDF2, {salt, iterationCount, keyLength (optional)}}
            // {encryptionAlgorithmOid, iv}
            // }
            final DERSequence pbeSeq = (DERSequence) alg.getParameters();
            final PBKDF2Parameters kdfParms = PBKDF2Parameters
                    .decode((DERSequence) pbeSeq.getObjectAt(0));
            final PBES2CipherGenerator cipherGen = new PBES2CipherGenerator(
                    (DERSequence) pbeSeq.getObjectAt(1));
            if (kdfParms.getLength() == 0) {
                kdfParms.setLength(cipherGen.getKeySize() / 8);
            }
            scheme = new PBES2EncryptionScheme(cipherGen.generate(),
                    kdfParms);
        } else {
            // Use PBES1 encryption scheme to decrypt key
            scheme = new PBES1EncryptionScheme(PBES1Algorithm.fromOid(alg
                    .getObjectId().getId()),
                    PBEParameter.decode((DERSequence) alg.getParameters()));
        }
        return scheme.decrypt(password, ki.getEncryptedData());
    } catch (Exception e) {
        throw new CryptException("Failed decrypting PKCS#8 private key", e);
    }
}
项目:irma_future_id    文件:PEMParser.java   
/**
 * Reads in an EncryptedPrivateKeyInfo
 *
 * @return the X509Certificate
 * @throws java.io.IOException if an I/O error occured
 */
public Object parseObject(PemObject obj)
    throws IOException
{
    try
    {
        return new PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo.getInstance(obj.getContent()));
    }
    catch (Exception e)
    {
        throw new PEMException("problem parsing ENCRYPTED PRIVATE KEY: " + e.toString(), e);
    }
}
项目:irma_future_id    文件:PKCS8Generator.java   
private PemObject generate(PrivateKeyInfo key, OutputEncryptor encryptor)
    throws PemGenerationException
{
    try
    {
        byte[] keyData = key.getEncoded();

        if (encryptor == null)
        {
            return new PemObject("PRIVATE KEY", keyData);
        }

        ByteArrayOutputStream bOut = new ByteArrayOutputStream();

        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(key.getEncoded());

        cOut.close();

        EncryptedPrivateKeyInfo info = new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray());

        return new PemObject("ENCRYPTED PRIVATE KEY", info.getEncoded());
    }
    catch (IOException e)
    {
        throw new PemGenerationException("unable to process encoded key data: " + e.getMessage(), e);
    }
}
项目:bc-java    文件:PEMParser.java   
/**
 * Reads in an EncryptedPrivateKeyInfo
 *
 * @return the X509Certificate
 * @throws java.io.IOException if an I/O error occured
 */
public Object parseObject(PemObject obj)
    throws IOException
{
    try
    {
        return new PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo.getInstance(obj.getContent()));
    }
    catch (Exception e)
    {
        throw new PEMException("problem parsing ENCRYPTED PRIVATE KEY: " + e.toString(), e);
    }
}
项目:bc-java    文件:PKCS8Generator.java   
private PemObject generate(PrivateKeyInfo key, OutputEncryptor encryptor)
    throws PemGenerationException
{
    try
    {
        byte[] keyData = key.getEncoded();

        if (encryptor == null)
        {
            return new PemObject("PRIVATE KEY", keyData);
        }

        ByteArrayOutputStream bOut = new ByteArrayOutputStream();

        OutputStream cOut = encryptor.getOutputStream(bOut);

        cOut.write(key.getEncoded());

        cOut.close();

        EncryptedPrivateKeyInfo info = new EncryptedPrivateKeyInfo(encryptor.getAlgorithmIdentifier(), bOut.toByteArray());

        return new PemObject("ENCRYPTED PRIVATE KEY", info.getEncoded());
    }
    catch (IOException e)
    {
        throw new PemGenerationException("unable to process encoded key data: " + e.getMessage(), e);
    }
}
项目:ipack    文件:PKCS8EncryptedPrivateKeyInfo.java   
public PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo encryptedPrivateKeyInfo)
{
    this.encryptedPrivateKeyInfo = encryptedPrivateKeyInfo;
}
项目:ipack    文件:PKCS8EncryptedPrivateKeyInfo.java   
public EncryptedPrivateKeyInfo toASN1Structure()
{
     return encryptedPrivateKeyInfo;
}
项目:gwt-crypto    文件:PKCS8EncryptedPrivateKeyInfo.java   
public PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo encryptedPrivateKeyInfo)
{
    this.encryptedPrivateKeyInfo = encryptedPrivateKeyInfo;
}
项目:gwt-crypto    文件:PKCS8EncryptedPrivateKeyInfo.java   
public EncryptedPrivateKeyInfo toASN1Structure()
{
     return encryptedPrivateKeyInfo;
}
项目:Aki-SSL    文件:PKCS8EncryptedPrivateKeyInfo.java   
public PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo encryptedPrivateKeyInfo)
{
    this.encryptedPrivateKeyInfo = encryptedPrivateKeyInfo;
}
项目:Aki-SSL    文件:PKCS8EncryptedPrivateKeyInfo.java   
public EncryptedPrivateKeyInfo toASN1Structure()
{
     return encryptedPrivateKeyInfo;
}
项目:irma_future_id    文件:PKCS8EncryptedPrivateKeyInfo.java   
public PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo encryptedPrivateKeyInfo)
{
    this.encryptedPrivateKeyInfo = encryptedPrivateKeyInfo;
}
项目:irma_future_id    文件:PKCS8EncryptedPrivateKeyInfo.java   
public EncryptedPrivateKeyInfo toASN1Structure()
{
     return encryptedPrivateKeyInfo;
}
项目:bc-java    文件:PKCS8EncryptedPrivateKeyInfo.java   
public PKCS8EncryptedPrivateKeyInfo(EncryptedPrivateKeyInfo encryptedPrivateKeyInfo)
{
    this.encryptedPrivateKeyInfo = encryptedPrivateKeyInfo;
}
项目:bc-java    文件:PKCS8EncryptedPrivateKeyInfo.java   
public EncryptedPrivateKeyInfo toASN1Structure()
{
     return encryptedPrivateKeyInfo;
}