当前位置: 首页>>代码示例>>Java>>正文


Java PacketTags类代码示例

本文整理汇总了Java中org.bouncycastle.bcpg.PacketTags的典型用法代码示例。如果您正苦于以下问题:Java PacketTags类的具体用法?Java PacketTags怎么用?Java PacketTags使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PacketTags类属于org.bouncycastle.bcpg包,在下文中一共展示了PacketTags类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: close

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
/**
 * Close off the encrypted object - this is equivalent to calling close on the stream
 * returned by the open() method.
 * <p>
 * <b>Note</b>: This does not close the underlying output stream, only the stream on top of it created by the open() method.
 * @throws java.io.IOException
 */
public void close()
    throws IOException
{
    if (cOut != null)
    {    
        if (digestCalc != null)
        {
            //
            // hand code a mod detection packet
            //
            BCPGOutputStream bOut = new BCPGOutputStream(genOut, PacketTags.MOD_DETECTION_CODE, 20);

            bOut.flush();

            byte[] dig = digestCalc.getDigest();

            cOut.write(dig);
        }

        cOut.close();

        cOut = null;
        pOut = null;
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:33,代码来源:PGPEncryptedDataGenerator.java

示例2: readSignaturesAndTrust

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
static List readSignaturesAndTrust(
    BCPGInputStream pIn)
    throws IOException
{
    try
    {
        List sigList = new ArrayList();

        while (pIn.nextPacketTag() == PacketTags.SIGNATURE)
        {
            SignaturePacket signaturePacket = (SignaturePacket)pIn.readPacket();
            TrustPacket trustPacket = readOptionalTrustPacket(pIn);

            sigList.add(new PGPSignature(signaturePacket, trustPacket));
        }

        return sigList;
    }
    catch (PGPException e)
    {
        throw new IOException("can't create signature object: " + e.getMessage()
            + ", cause: " + e.getUnderlyingException().toString());
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:25,代码来源:PGPKeyRing.java

示例3: readUserIDs

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
static void readUserIDs(
    BCPGInputStream pIn,
    List ids,
    List idTrusts,
    List idSigs)
    throws IOException
{
    while (pIn.nextPacketTag() == PacketTags.USER_ID
        || pIn.nextPacketTag() == PacketTags.USER_ATTRIBUTE)
    {
        Packet obj = pIn.readPacket();
        if (obj instanceof UserIDPacket)
        {
            UserIDPacket id = (UserIDPacket)obj;
            ids.add(id);
        }
        else
        {
            UserAttributePacket user = (UserAttributePacket)obj;
            ids.add(new PGPUserAttributeSubpacketVector(user.getSubpackets()));
        }

        idTrusts.add(readOptionalTrustPacket(pIn));
        idSigs.add(readSignaturesAndTrust(pIn));
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:27,代码来源:PGPKeyRing.java

示例4: PGPEncryptedDataList

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
/**
 * Construct an encrypted data packet holder, reading PGP encrypted method packets and an
 * encrytped data packet from the stream.
 * <p>
 * The next packet in the stream should be one of {@link PacketTags#SYMMETRIC_KEY_ENC_SESSION}
 * or {@link PacketTags#PUBLIC_KEY_ENC_SESSION}.
 * </p>
 * @param pIn the PGP object stream being read.
 * @throws IOException if an error occurs reading from the PGP input.
 */
public PGPEncryptedDataList(
    BCPGInputStream    pIn)
    throws IOException
{
    while (pIn.nextPacketTag() == PacketTags.PUBLIC_KEY_ENC_SESSION
        || pIn.nextPacketTag() == PacketTags.SYMMETRIC_KEY_ENC_SESSION)
    {
        list.add(pIn.readPacket());
    }

    data = (InputStreamPacket)pIn.readPacket();

    for (int i = 0; i != list.size(); i++)
    {
        if (list.get(i) instanceof SymmetricKeyEncSessionPacket)
        {
            list.set(i, new PGPPBEEncryptedData((SymmetricKeyEncSessionPacket)list.get(i), data));
        }
        else
        {
            list.set(i, new PGPPublicKeyEncryptedData((PublicKeyEncSessionPacket)list.get(i), data));
        }
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:35,代码来源:PGPEncryptedDataList.java

示例5: open

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
/**
 * Return an OutputStream which will save the data being written to 
 * the compressed object.
 * <p>
 * The stream created can be closed off by either calling close()
 * on the stream or close() on the generator. Closing the returned
 * stream does not close off the OutputStream parameter out.
 * 
 * @param out underlying OutputStream to be used.
 * @return OutputStream
 * @throws IOException, IllegalStateException
 */        
public OutputStream open(
    OutputStream    out)
    throws IOException
{
    if (dOut != null)
    {
        throw new IllegalStateException("generator already in open state");
    }

    this.pkOut = new BCPGOutputStream(out, PacketTags.COMPRESSED_DATA);

    doOpen();

    return new WrappedGeneratorStream(dOut, this);
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:28,代码来源:PGPCompressedDataGenerator.java

示例6: readUserIDs

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
static void readUserIDs(
    BCPGInputStream pIn,
    List ids,
    List idTrusts,
    List idSigs)
    throws IOException
{
    while (pIn.nextPacketTag() == PacketTags.USER_ID
        || pIn.nextPacketTag() == PacketTags.USER_ATTRIBUTE)
    {
        Packet obj = pIn.readPacket();
        if (obj instanceof UserIDPacket)
        {
            UserIDPacket id = (UserIDPacket)obj;
            ids.add(id.getID());
        }
        else
        {
            UserAttributePacket user = (UserAttributePacket)obj;
            ids.add(new PGPUserAttributeSubpacketVector(user.getSubpackets()));
        }

        idTrusts.add(readOptionalTrustPacket(pIn));
        idSigs.add(readSignaturesAndTrust(pIn));
    }
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:27,代码来源:PGPKeyRing.java

示例7: PGPEncryptedDataList

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
public PGPEncryptedDataList(
    BCPGInputStream    pIn)
    throws IOException
{
    while (pIn.nextPacketTag() == PacketTags.PUBLIC_KEY_ENC_SESSION
        || pIn.nextPacketTag() == PacketTags.SYMMETRIC_KEY_ENC_SESSION)
    {
        list.add(pIn.readPacket());
    }

    data = (InputStreamPacket)pIn.readPacket();
    
    for (int i = 0; i != list.size(); i++)
    {
        if (list.get(i) instanceof SymmetricKeyEncSessionPacket)
        {
            list.set(i, new PGPPBEEncryptedData((SymmetricKeyEncSessionPacket)list.get(i), data));
        }
        else 
        {
            list.set(i, new PGPPublicKeyEncryptedData((PublicKeyEncSessionPacket)list.get(i), data));
        }
    }
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:25,代码来源:PGPEncryptedDataList.java

示例8: readOptionalTrustPacket

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
static TrustPacket readOptionalTrustPacket(
    BCPGInputStream pIn)
    throws IOException
{
    return (pIn.nextPacketTag() == PacketTags.TRUST)
        ?   (TrustPacket) pIn.readPacket()
        :   null;
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:9,代码来源:PGPKeyRing.java

示例9: PGPPublicKeyRing

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
public PGPPublicKeyRing(
    InputStream    in,
    KeyFingerPrintCalculator fingerPrintCalculator)
    throws IOException
{
    this.keys = new ArrayList();

    BCPGInputStream pIn = wrap(in);

    int initialTag = pIn.nextPacketTag();
    if (initialTag != PacketTags.PUBLIC_KEY && initialTag != PacketTags.PUBLIC_SUBKEY)
    {
        throw new IOException(
            "public key ring doesn't start with public key tag: " +
            "tag 0x" + Integer.toHexString(initialTag));
    }

    PublicKeyPacket pubPk = (PublicKeyPacket)pIn.readPacket();
    TrustPacket     trustPk = readOptionalTrustPacket(pIn);

    // direct signatures and revocations
    List keySigs = readSignaturesAndTrust(pIn);

    List ids = new ArrayList();
    List idTrusts = new ArrayList();
    List idSigs = new ArrayList();
    readUserIDs(pIn, ids, idTrusts, idSigs);

    try
    {
        keys.add(new PGPPublicKey(pubPk, trustPk, keySigs, ids, idTrusts, idSigs, fingerPrintCalculator));

        // Read subkeys
        while (pIn.nextPacketTag() == PacketTags.PUBLIC_SUBKEY)
        {
            keys.add(readSubkey(pIn, fingerPrintCalculator));
        }
    }
    catch (PGPException e)
    {
        throw new IOException("processing exception: " + e.toString());
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:44,代码来源:PGPPublicKeyRing.java

示例10: close

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
public void close() throws PGPException {
  	if (this.isClosed)
  		return;
  	
  	this.isClosed = true;
  	
if (this.packetbuf != null) {
	// flush data if any packet space is available
   	this.writeData(new byte[0], 0, 0);
   	
      	this.packetsize = this.packetbuf.readableBytes();
       this.packetpos = 0;
       
       // even if zero, this is fine, we need a final packet
   	this.writeDataPacketLength(this.packetsize);		
   	
   	if (this.packetsize > 0)
   		this.writeData(new byte[0], 0, 0);
   	
	this.packetbuf.release();
	this.packetbuf = null;
}

if (this.algorithm != SymmetricKeyAlgorithmTags.NULL) {
   	this.ensureBuffer(22);
   	
	this.writeDataInternal((byte) (0xC0 | PacketTags.MOD_DETECTION_CODE));
	
	this.writeDataInternal((byte) 20);	// length of SHA-1 is always 20 bytes
	
       this.writeDataInternal(this.digest.digest(), 0, 20);
       
       // TODO final compression, pass into doFinal below
       
       byte[] fcipher;
       
	try {
		fcipher = this.cipher.doFinal();
	} 
	catch (Exception x) {
		throw new PGPException("Problem with PGP cipher", x);
	}
       
       this.ensureBuffer(fcipher.length);
       this.out.writeBytes(fcipher);		// write raw
}
else {
       // TODO final compression, if any
}

      this.readyBuffers.add(this.out);
      this.out = null;
  }
 
开发者ID:Gadreel,项目名称:divconq,代码行数:54,代码来源:EncryptedFileStream.java

示例11: close

import org.bouncycastle.bcpg.PacketTags; //导入依赖的package包/类
public void close() throws IOException {
  	// TODO review this.finishPartial();
  	
  	this.ensureBuffer(22);
  	
this.startGeneralPacket(PacketTags.MOD_DETECTION_CODE, 20);

/*
      byte[] dig = this.dc.getDigest();
 */

      this.out.writeBytes(new byte[20]);	// TODO
      
      this.readyBuffers.add(this.out);
      this.out = null;
  }
 
开发者ID:Gadreel,项目名称:divconq,代码行数:17,代码来源:PGPWriter.java


注:本文中的org.bouncycastle.bcpg.PacketTags类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。