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


Java DerOutputStream.toByteArray方法代码示例

本文整理汇总了Java中sun.security.util.DerOutputStream.toByteArray方法的典型用法代码示例。如果您正苦于以下问题:Java DerOutputStream.toByteArray方法的具体用法?Java DerOutputStream.toByteArray怎么用?Java DerOutputStream.toByteArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sun.security.util.DerOutputStream的用法示例。


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

示例1: getEncoded

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Returns the ASN.1 encoding of this class.
 */
public byte[] getEncoded()
    throws IOException
{
    if (this.encoded != null) return this.encoded.clone();

    DerOutputStream out = new DerOutputStream();
    DerOutputStream tmp = new DerOutputStream();

    // encode encryption algorithm
    algid.encode(tmp);

    // encode encrypted data
    tmp.putOctetString(encryptedData);

    // wrap everything into a SEQUENCE
    out.write(DerValue.tag_Sequence, tmp);
    this.encoded = out.toByteArray();

    return this.encoded.clone();
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:24,代码来源:EncryptedPrivateKeyInfo.java

示例2: encodeTbsResponse

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private byte[] encodeTbsResponse() throws IOException {
    DerOutputStream outerSeq = new DerOutputStream();
    DerOutputStream tbsStream = new DerOutputStream();

    // Note: We're not going explicitly assert the version
    tbsStream.write(respId.getEncoded());
    tbsStream.putGeneralizedTime(producedAtDate);

    // Sequence of responses
    encodeSingleResponses(tbsStream);

    // TODO: add response extension support
    encodeExtensions(tbsStream);

    outerSeq.write(DerValue.tag_Sequence, tbsStream);
    return outerSeq.toByteArray();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,代码来源:SimpleOCSPServer.java

示例3: engineSign

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Sign all the data thus far updated. The signature is formatted
 * according to the Canonical Encoding Rules, returned as a DER
 * sequence of Integer, r and s.
 *
 * @return a signature block formatted according to the Canonical
 * Encoding Rules.
 *
 * @exception SignatureException if the signature object was not
 * properly initialized, or if another exception occurs.
 *
 * @see sun.security.DSA#engineUpdate
 * @see sun.security.DSA#engineVerify
 */
protected byte[] engineSign() throws SignatureException {
    BigInteger k = generateK(presetQ);
    BigInteger r = generateR(presetP, presetQ, presetG, k);
    BigInteger s = generateS(presetX, presetQ, r, k);

    try {
        DerOutputStream outseq = new DerOutputStream(100);
        outseq.putInteger(r);
        outseq.putInteger(s);
        DerValue result = new DerValue(DerValue.tag_Sequence,
                                       outseq.toByteArray());

        return result.toByteArray();

    } catch (IOException e) {
        throw new SignatureException("error encoding signature");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:DSA.java

示例4: getBytes

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Get the DER-encoded response bytes for this response
 *
 * @return a byte array containing the DER-encoded bytes for
 * the response
 *
 * @throws IOException if any encoding errors occur
 */
private byte[] getBytes() throws IOException {
    DerOutputStream outerSeq = new DerOutputStream();
    DerOutputStream responseStream = new DerOutputStream();
    responseStream.putEnumerated(responseStatus.ordinal());
    if (responseStatus == ResponseStatus.SUCCESSFUL &&
            respItemMap != null) {
        encodeResponseBytes(responseStream);
    }

    // Commit the outermost sequence bytes
    outerSeq.write(DerValue.tag_Sequence, responseStream);
    return outerSeq.toByteArray();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:SimpleOCSPServer.java

示例5: main

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
public static void main(String args[]) throws Exception {
    DerOutputStream out = new DerOutputStream();
    out.putUTCTime(new Date());
    DerValue val = new DerValue(out.toByteArray());
    System.out.println(val.getUTCTime());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:7,代码来源:LocaleInTime.java

示例6: encodeThis

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private void encodeThis() throws IOException {
    if (distributionPoints.isEmpty()) {
        this.extensionValue = null;
    } else {
        DerOutputStream pnts = new DerOutputStream();
        for (DistributionPoint point : distributionPoints) {
            point.encode(pnts);
        }
        DerOutputStream seq = new DerOutputStream();
        seq.write(DerValue.tag_Sequence, pnts);
        this.extensionValue = seq.toByteArray();
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:CRLDistributionPointsExtension.java

示例7: getDER

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Returns the full ASN.1 DER encoding for this oid object, which
 * includes the tag and length.
 *
 * @return byte array containing the DER encoding of this oid object.
 * @exception GSSException may be thrown when the oid can't be encoded
 */
public byte[] getDER() throws GSSException {

    if (derEncoding == null) {
        DerOutputStream dout = new DerOutputStream();
        try {
            dout.putOID(oid);
        } catch (IOException e) {
            throw new GSSException(GSSException.FAILURE, e.getMessage());
        }
        derEncoding = dout.toByteArray();
    }

    return derEncoding.clone();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:Oid.java

示例8: calculateMac

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private byte[] calculateMac(char[] passwd, byte[] data)
    throws IOException
{
    byte[] mData = null;
    String algName = "SHA1";

    try {
        // Generate a random salt.
        byte[] salt = getSalt();

        // generate MAC (MAC key is generated within JCE)
        Mac m = Mac.getInstance("HmacPBESHA1");
        PBEParameterSpec params =
                    new PBEParameterSpec(salt, iterationCount);
        SecretKey key = getPBEKey(passwd);
        m.init(key, params);
        m.update(data);
        byte[] macResult = m.doFinal();

        // encode as MacData
        MacData macData = new MacData(algName, macResult, salt,
                                            iterationCount);
        DerOutputStream bytes = new DerOutputStream();
        bytes.write(macData.getEncoded());
        mData = bytes.toByteArray();
    } catch (Exception e) {
        throw new IOException("calculateMac failed: " + e, e);
    }
    return mData;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:31,代码来源:PKCS12KeyStore.java

示例9: generateDerEncoding

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private byte[] generateDerEncoding() throws IOException {
    DerOutputStream out = new DerOutputStream();
    Object[] attribVals = attributes.values().toArray();

    out.putOrderedSetOf(DerValue.tag_SetOf,
                        castToDerEncoder(attribVals));
    return out.toByteArray();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:PKCS9Attributes.java

示例10: engineGetEncoded

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
protected byte[] engineGetEncoded() throws IOException {
    DerOutputStream out = new DerOutputStream();
    DerOutputStream bytes = new DerOutputStream();

    bytes.putInteger(p);
    bytes.putInteger(q);
    bytes.putInteger(g);
    out.write(DerValue.tag_Sequence, bytes);
    return out.toByteArray();
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:11,代码来源:DSAParameters.java

示例11: encodePKCS7

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Encode the CertPath using PKCS#7 format.
 *
 * @return a byte array containing the binary encoding of the PKCS#7 object
 * @exception CertificateEncodingException if an exception occurs
 */
private byte[] encodePKCS7() throws CertificateEncodingException {
    PKCS7 p7 = new PKCS7(new AlgorithmId[0],
                         new ContentInfo(ContentInfo.DATA_OID, null),
                         certs.toArray(new X509Certificate[certs.size()]),
                         new SignerInfo[0]);
    DerOutputStream derout = new DerOutputStream();
    try {
        p7.encodeSignedData(derout);
    } catch (IOException ioe) {
        throw new CertificateEncodingException(ioe.getMessage());
    }
    return derout.toByteArray();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:20,代码来源:X509CertPath.java

示例12: getEncoded

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Return the DER encoded form of the certificate pair.
 *
 * @return The encoded form of the certificate pair.
 * @throws CerticateEncodingException If an encoding exception occurs.
 */
public byte[] getEncoded() throws CertificateEncodingException {
    try {
        if (encoded == null) {
            DerOutputStream tmp = new DerOutputStream();
            emit(tmp);
            encoded = tmp.toByteArray();
        }
    } catch (IOException ex) {
        throw new CertificateEncodingException(ex.toString());
    }
    return encoded;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:X509CertificatePair.java

示例13: encodeTopLevel

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
/**
 * Encode the contents of the outer-most ASN.1 SEQUENCE:
 *
 * <PRE>
 *  Certificate  ::=  SEQUENCE  {
 *      tbsCertificate       TBSCertificate,
 *      signatureAlgorithm   AlgorithmIdentifier,
 *      signatureValue       BIT STRING  }
 * </PRE>
 *
 * @param issuerCert The certificate of the issuing authority, or
 * {@code null} if the resulting certificate is self-signed.
 * @param issuerKey The private key of the issuing authority
 * @param signAlg The signature algorithm object
 *
 * @return The DER-encoded X.509 certificate
 *
 * @throws CertificateException If an error occurs during the
 * signing process.
 * @throws IOException if an encoding error occurs.
 */
private byte[] encodeTopLevel(X509Certificate issuerCert,
        PrivateKey issuerKey, AlgorithmId signAlg)
        throws CertificateException, IOException {
    DerOutputStream outerSeq = new DerOutputStream();
    DerOutputStream topLevelItems = new DerOutputStream();

    tbsCertBytes = encodeTbsCert(issuerCert, signAlg);
    topLevelItems.write(tbsCertBytes);
    try {
        signatureBytes = signCert(issuerKey, signAlg);
    } catch (GeneralSecurityException ge) {
        throw new CertificateException(ge);
    }
    signAlg.derEncode(topLevelItems);
    topLevelItems.putBitString(signatureBytes);
    outerSeq.write(DerValue.tag_Sequence, topLevelItems);

    return outerSeq.toByteArray();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:41,代码来源:CertificateBuilder.java

示例14: getBagAttributes

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private byte[] getBagAttributes(String alias, byte[] keyId,
    ObjectIdentifier[] trustedUsage,
    Set<KeyStore.Entry.Attribute> attributes) throws IOException {

    byte[] localKeyID = null;
    byte[] friendlyName = null;
    byte[] trustedKeyUsage = null;

    // return null if all three attributes are null
    if ((alias == null) && (keyId == null) && (trustedKeyUsage == null)) {
        return null;
    }

    // SafeBag Attributes
    DerOutputStream bagAttrs = new DerOutputStream();

    // Encode the friendlyname oid.
    if (alias != null) {
        DerOutputStream bagAttr1 = new DerOutputStream();
        bagAttr1.putOID(PKCS9FriendlyName_OID);
        DerOutputStream bagAttrContent1 = new DerOutputStream();
        DerOutputStream bagAttrValue1 = new DerOutputStream();
        bagAttrContent1.putBMPString(alias);
        bagAttr1.write(DerValue.tag_Set, bagAttrContent1);
        bagAttrValue1.write(DerValue.tag_Sequence, bagAttr1);
        friendlyName = bagAttrValue1.toByteArray();
    }

    // Encode the localkeyId oid.
    if (keyId != null) {
        DerOutputStream bagAttr2 = new DerOutputStream();
        bagAttr2.putOID(PKCS9LocalKeyId_OID);
        DerOutputStream bagAttrContent2 = new DerOutputStream();
        DerOutputStream bagAttrValue2 = new DerOutputStream();
        bagAttrContent2.putOctetString(keyId);
        bagAttr2.write(DerValue.tag_Set, bagAttrContent2);
        bagAttrValue2.write(DerValue.tag_Sequence, bagAttr2);
        localKeyID = bagAttrValue2.toByteArray();
    }

    // Encode the trustedKeyUsage oid.
    if (trustedUsage != null) {
        DerOutputStream bagAttr3 = new DerOutputStream();
        bagAttr3.putOID(TrustedKeyUsage_OID);
        DerOutputStream bagAttrContent3 = new DerOutputStream();
        DerOutputStream bagAttrValue3 = new DerOutputStream();
        for (ObjectIdentifier usage : trustedUsage) {
            bagAttrContent3.putOID(usage);
        }
        bagAttr3.write(DerValue.tag_Set, bagAttrContent3);
        bagAttrValue3.write(DerValue.tag_Sequence, bagAttr3);
        trustedKeyUsage = bagAttrValue3.toByteArray();
    }

    DerOutputStream attrs = new DerOutputStream();
    if (friendlyName != null) {
        attrs.write(friendlyName);
    }
    if (localKeyID != null) {
        attrs.write(localKeyID);
    }
    if (trustedKeyUsage != null) {
        attrs.write(trustedKeyUsage);
    }

    if (attributes != null) {
        for (KeyStore.Entry.Attribute attribute : attributes) {
            String attributeName = attribute.getName();
            // skip friendlyName, localKeyId and trustedKeyUsage
            if (CORE_ATTRIBUTES[0].equals(attributeName) ||
                CORE_ATTRIBUTES[1].equals(attributeName) ||
                CORE_ATTRIBUTES[2].equals(attributeName)) {
                continue;
            }
            attrs.write(((PKCS12Attribute) attribute).getEncoded());
        }
    }

    bagAttrs.write(DerValue.tag_Set, attrs);
    return bagAttrs.toByteArray();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:82,代码来源:PKCS12KeyStore.java

示例15: encodeThis

import sun.security.util.DerOutputStream; //导入方法依赖的package包/类
private void encodeThis() throws IOException {
    DerOutputStream out = new DerOutputStream();
    out.putInteger(skipCerts);
    this.extensionValue = out.toByteArray();
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:6,代码来源:InhibitAnyPolicyExtension.java


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