List of usage examples for org.bouncycastle.asn1 DERSet getEncoded
public byte[] getEncoded() throws IOException
From source file:eu.europa.esig.dss.cades.signature.CAdESLevelBExternalSignatureTest.java
License:Open Source License
private ExternalSignatureResult simulateExternalSignature(ToBeSigned toBeSigned) { ExternalSignatureResult externalSignatureResult = new ExternalSignatureResult(); // Get hold of signature certificate. CertificateToken signingCertificate = getSigningCert(); externalSignatureResult.setSigningCertificate(signingCertificate); DigestAlgorithm digestAlgo = signatureParameters.getDigestAlgorithm(); // Add the signing-certificate/signing-certificate-v2 attribute to DER encoded SignedAttributes. try (ASN1InputStream asn1InputStream = new ASN1InputStream(toBeSigned.getBytes())) { DLSet dlSet = (DLSet) asn1InputStream.readObject(); AttributeTable signedAttribute = new AttributeTable(dlSet); ASN1EncodableVector signedAttributeEncodableVector = signedAttribute.toASN1EncodableVector(); CMSUtils.addSigningCertificateAttribute(signedAttributeEncodableVector, digestAlgo, signingCertificate); DERSet signedAttributesData = new DERSet(signedAttributeEncodableVector); // Update toBeSigned toBeSigned.setBytes(signedAttributesData.getEncoded()); externalSignatureResult.setSignedData(toBeSigned.getBytes()); } catch (Exception e) { LOG.error("Error while simulating external CAdES signature", e); }// www . ja v a 2 s . c o m SignatureValue signatureValue = getToken().sign(toBeSigned, getSignatureParameters().getDigestAlgorithm(), getSignatureParameters().getMaskGenerationFunction(), getPrivateKeyEntry()); externalSignatureResult.setSignatureValue(signatureValue); return externalSignatureResult; }
From source file:eu.europa.esig.dss.pades.signature.PAdESLevelBExternalSignatureTest.java
License:Open Source License
private ExternalSignatureResult simulateExternalSignature(ToBeSigned toBeSigned) { ExternalSignatureResult externalSignatureResult = new ExternalSignatureResult(); // Get hold of signature certificate. CertificateToken signingCertificate = getSigningCert(); externalSignatureResult.setSigningCertificate(signingCertificate); DigestAlgorithm digestAlgo = signatureParameters.getDigestAlgorithm(); // Add the signing-certificate/signing-certificate-v2 attribute to DER encoded SignedAttributes. try (ASN1InputStream asn1InputStream = new ASN1InputStream(toBeSigned.getBytes())) { DLSet dlSet = (DLSet) asn1InputStream.readObject(); AttributeTable signedAttribute = new AttributeTable(dlSet); ASN1EncodableVector signedAttributeEncodableVector = signedAttribute.toASN1EncodableVector(); CMSUtils.addSigningCertificateAttribute(signedAttributeEncodableVector, digestAlgo, signingCertificate); DERSet signedAttributesData = new DERSet(signedAttributeEncodableVector); // Update toBeSigned toBeSigned.setBytes(signedAttributesData.getEncoded()); externalSignatureResult.setSignedData(toBeSigned.getBytes()); } catch (Exception e) { LOG.error("Error while simulating external PAdES signature", e); }//from ww w . ja v a2 s . c om SignatureValue signatureValue = getToken().sign(toBeSigned, digestAlgo, getSignatureParameters().getMaskGenerationFunction(), getPrivateKeyEntry()); externalSignatureResult.setSignatureValue(signatureValue); return externalSignatureResult; }
From source file:org.cesecore.certificates.certificate.certextensions.BasicCertificateExtensionTest.java
License:Open Source License
@Test public void test12DERObjectExtension() throws Exception { Properties props = new Properties(); props.put("id1.property.encoding", "DEROBJECT"); ASN1EncodableVector vec = new ASN1EncodableVector(); vec.add(new DERPrintableString("foo1")); vec.add(new DERPrintableString("foo2")); vec.add(new DERPrintableString("foo3")); DERSet set = new DERSet(vec); String str = new String(Hex.encode(set.getEncoded())); props.put("id1.property.value", str); BasicCertificateExtension baseExt = new BasicCertificateExtension(); baseExt.init(1, "1.2.3", false, props); ASN1Encodable value = getObject(baseExt.getValueEncoded(null, null, null, null, null, null)); assertTrue(value.getClass().toString(), value instanceof DLSet); DLSet set1 = (DLSet) value;/*w ww. j a v a2 s. c om*/ assertEquals(3, set1.size()); props = new Properties(); props.put("id1.property.encoding", "DEROBJECT"); props.put("id1.property.value", "This is not an asn1 hex encoded object"); baseExt = new BasicCertificateExtension(); baseExt.init(1, "1.2.3", false, props); try { value = getObject(baseExt.getValueEncoded(null, null, null, null, null, null)); assertTrue("Should throw", false); } catch (CertificateExtensionException e) { // NOPMD } }