@Override public void encodeOctetString(String str) { encodeOctetString(str.getBytes(StandardCharsets.UTF_8)); }
/** * <p> * Encode a {@code RandomNumber} element using the given DER encoder, where * {@code RandomNumber} is defined as: * * <pre> * RandomNumber ::= OCTET STRING (SIZE(8..MAX)) * </pre> * </p> * * @param encoder the DER encoder * @param secureRandom the secure random to use (may be null) */ public static byte[] encodeRandomNumber(final DEREncoder encoder, SecureRandom secureRandom) { Random random = secureRandom != null ? secureRandom : ThreadLocalRandom.current(); byte[] randomA = generateRandomString(48, random); encoder.encodeOctetString(randomA); return randomA; }
IteratedSaltedHashPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), IteratedSaltedHashPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeOctetString(passwordSpec.getSalt()); encoder.encodeInteger(passwordSpec.getIterationCount()); encoder.endSequence(); encoder.encodeOctetString(new String(passwordSpec.getEncodedPassword())); break; final DigestPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), DigestPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getUsername()); encoder.encodeOctetString(passwordSpec.getRealm()); encoder.encodeOctetString(passwordSpec.getDigest()); encoder.endSequence(); break; final OneTimePasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), OneTimePasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeIA5String(passwordSpec.getSeed()); encoder.encodeInteger(passwordSpec.getSequenceNumber()); final SaltedHashPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), SaltedHashPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeOctetString(passwordSpec.getSalt()); encoder.endSequence();
/** * Encode an {@code Extension} using the given DER encoder. The ASN.1 definition of {@code Extension} is: * * <pre> * Extension ::= SEQUENCE { * extensionId OBJECT IDENTIFIER, * critical BOOLEAN DEFAULT FALSE, * extensionValue OCTET STRING * } * </pre> * * @param encoder the DER encoder * @param extension the X.509 certificate extension */ private static void encodeExtension(final DEREncoder encoder, final X509CertificateExtension extension) { encoder.startSequence(); encoder.encodeObjectIdentifier(extension.getId()); if (extension.isCritical()) { encoder.encodeBoolean(true); } DEREncoder extensionEncoder = new DEREncoder(); extension.encodeTo(extensionEncoder); encoder.encodeOctetString(extensionEncoder.getEncoded()); encoder.endSequence(); }
final DEREncoder subEncoder = new DEREncoder(); extension.encodeTo(subEncoder); derEncoder.encodeOctetString(subEncoder.getEncoded()); derEncoder.endSequence();
tbsEncoder.encodeOctetString(randomA); tbsEncoder.encodeOctetString(randomB); if (entityB != null) { tbsEncoder.encodeImplicit(0); tbsEncoder.encodeOctetString(randomB); tbsEncoder.encodeOctetString(randomA); tbsEncoder.encodeOctetString(randomC); if (entityA != null) { EntityUtil.encodeGeneralNames(tbsEncoder, entityA);
tbsEncoder.encodeOctetString(randomA); tbsEncoder.encodeOctetString(randomB); if (entityB != null) { tbsEncoder.encodeImplicit(0); tbsEncoder.encodeOctetString(randomB); tbsEncoder.encodeOctetString(randomA); tbsEncoder.encodeOctetString(randomC); EntityUtil.encodeGeneralNames(tbsEncoder, clientName, clientSubjectAltNames); tbsEncoder.endSequence();
@Override public void encodeOctetString(String str) { encodeOctetString(str.getBytes(StandardCharsets.UTF_8)); }
@Override public void encodeOctetString(String str) { encodeOctetString(str.getBytes(StandardCharsets.UTF_8)); }
@Override public void encodeOctetString(String str) { encodeOctetString(str.getBytes(StandardCharsets.UTF_8)); }
/** * <p> * Encode a {@code RandomNumber} element using the given DER encoder, where * {@code RandomNumber} is defined as: * * <pre> * RandomNumber ::= OCTET STRING (SIZE(8..MAX)) * </pre> * </p> * * @param encoder the DER encoder * @param secureRandom the secure random to use (may be null) */ public static byte[] encodeRandomNumber(final DEREncoder encoder, SecureRandom secureRandom) { Random random = secureRandom != null ? secureRandom : ThreadLocalRandom.current(); byte[] randomA = generateRandomString(48, random); encoder.encodeOctetString(randomA); return randomA; }
/** * <p> * Encode a {@code RandomNumber} element using the given DER encoder, where * {@code RandomNumber} is defined as: * * <pre> * RandomNumber ::= OCTET STRING (SIZE(8..MAX)) * </pre> * </p> * * @param encoder the DER encoder * @param secureRandom the secure random to use (may be null) */ public static byte[] encodeRandomNumber(final DEREncoder encoder, SecureRandom secureRandom) { Random random = secureRandom != null ? secureRandom : ThreadLocalRandom.current(); byte[] randomA = generateRandomString(48, random); encoder.encodeOctetString(randomA); return randomA; }
/** * <p> * Encode a {@code RandomNumber} element using the given DER encoder, where * {@code RandomNumber} is defined as: * * <pre> * RandomNumber ::= OCTET STRING (SIZE(8..MAX)) * </pre> * </p> * * @param encoder the DER encoder * @param secureRandom the secure random to use (may be null) */ public static byte[] encodeRandomNumber(final DEREncoder encoder, SecureRandom secureRandom) { Random random = secureRandom != null ? secureRandom : ThreadLocalRandom.current(); byte[] randomA = generateRandomString(48, random); encoder.encodeOctetString(randomA); return randomA; }
IteratedSaltedHashPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), IteratedSaltedHashPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeOctetString(passwordSpec.getSalt()); encoder.encodeInteger(passwordSpec.getIterationCount()); encoder.endSequence(); encoder.encodeOctetString(new String(passwordSpec.getEncodedPassword())); break; final DigestPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), DigestPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getUsername()); encoder.encodeOctetString(passwordSpec.getRealm()); encoder.encodeOctetString(passwordSpec.getDigest()); encoder.endSequence(); break; final OneTimePasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), OneTimePasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeIA5String(passwordSpec.getSeed()); encoder.encodeInteger(passwordSpec.getSequenceNumber()); final SaltedHashPasswordSpec passwordSpec = passwordFactory.getKeySpec(passwordFactory.translate(password), SaltedHashPasswordSpec.class); encoder.startSequence(); encoder.encodeOctetString(passwordSpec.getHash()); encoder.encodeOctetString(passwordSpec.getSalt()); encoder.endSequence();
/** * Encode an {@code Extension} using the given DER encoder. The ASN.1 definition of {@code Extension} is: * * <pre> * Extension ::= SEQUENCE { * extensionId OBJECT IDENTIFIER, * critical BOOLEAN DEFAULT FALSE, * extensionValue OCTET STRING * } * </pre> * * @param encoder the DER encoder * @param extension the X.509 certificate extension */ private static void encodeExtension(final DEREncoder encoder, final X509CertificateExtension extension) { encoder.startSequence(); encoder.encodeObjectIdentifier(extension.getId()); if (extension.isCritical()) { encoder.encodeBoolean(true); } DEREncoder extensionEncoder = new DEREncoder(); extension.encodeTo(extensionEncoder); encoder.encodeOctetString(extensionEncoder.getEncoded()); encoder.endSequence(); }
/** * Encode an {@code Extension} using the given DER encoder. The ASN.1 definition of {@code Extension} is: * * <pre> * Extension ::= SEQUENCE { * extensionId OBJECT IDENTIFIER, * critical BOOLEAN DEFAULT FALSE, * extensionValue OCTET STRING * } * </pre> * * @param encoder the DER encoder * @param extension the X.509 certificate extension */ private static void encodeExtension(final DEREncoder encoder, final X509CertificateExtension extension) { encoder.startSequence(); encoder.encodeObjectIdentifier(extension.getId()); if (extension.isCritical()) { encoder.encodeBoolean(true); } DEREncoder extensionEncoder = new DEREncoder(); extension.encodeTo(extensionEncoder); encoder.encodeOctetString(extensionEncoder.getEncoded()); encoder.endSequence(); }
/** * Encode an {@code Extension} using the given DER encoder. The ASN.1 definition of {@code Extension} is: * * <pre> * Extension ::= SEQUENCE { * extensionId OBJECT IDENTIFIER, * critical BOOLEAN DEFAULT FALSE, * extensionValue OCTET STRING * } * </pre> * * @param encoder the DER encoder * @param extension the X.509 certificate extension */ private static void encodeExtension(final DEREncoder encoder, final X509CertificateExtension extension) { encoder.startSequence(); encoder.encodeObjectIdentifier(extension.getId()); if (extension.isCritical()) { encoder.encodeBoolean(true); } DEREncoder extensionEncoder = new DEREncoder(); extension.encodeTo(extensionEncoder); encoder.encodeOctetString(extensionEncoder.getEncoded()); encoder.endSequence(); }
final DEREncoder subEncoder = new DEREncoder(); extension.encodeTo(subEncoder); derEncoder.encodeOctetString(subEncoder.getEncoded()); derEncoder.endSequence();
final DEREncoder subEncoder = new DEREncoder(); extension.encodeTo(subEncoder); derEncoder.encodeOctetString(subEncoder.getEncoded()); derEncoder.endSequence();
final DEREncoder subEncoder = new DEREncoder(); extension.encodeTo(subEncoder); derEncoder.encodeOctetString(subEncoder.getEncoded()); derEncoder.endSequence();