use of com.unboundid.asn1.ASN1Null in project ldapsdk by pingidentity.
the class PKCS8PrivateKeyTestCase method testMinimalElementsNotDecodeable.
/**
* Tests a private key with a minimal set of elements that uses an
* unrecognized algorithm.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testMinimalElementsNotDecodeable() throws Exception {
PKCS8PrivateKey privateKey = new PKCS8PrivateKey(PKCS8PrivateKeyVersion.V2, new OID("1.2.3.4"), new ASN1Null(), new ASN1OctetString("encoded-private-key"), null, null, null);
assertNotNull(privateKey.getPKCS8PrivateKeyBytes());
privateKey = new PKCS8PrivateKey(privateKey.encode().encode());
assertNotNull(privateKey.getVersion());
assertEquals(privateKey.getVersion(), PKCS8PrivateKeyVersion.V2);
assertNotNull(privateKey.getPrivateKeyAlgorithmOID());
assertEquals(privateKey.getPrivateKeyAlgorithmOID(), new OID("1.2.3.4"));
assertNull(privateKey.getPrivateKeyAlgorithmName());
assertNotNull(privateKey.getPrivateKeyAlgorithmNameOrOID());
assertEquals(privateKey.getPrivateKeyAlgorithmNameOrOID(), "1.2.3.4");
assertNotNull(privateKey.getPrivateKeyAlgorithmParameters());
assertNotNull(privateKey.getEncodedPrivateKey());
assertEquals(privateKey.getEncodedPrivateKey().getValue(), new ASN1OctetString("encoded-private-key").getValue());
assertNull(privateKey.getDecodedPrivateKey());
assertNotNull(privateKey.toString());
assertNotNull(privateKey.toPEM());
assertFalse(privateKey.toPEM().isEmpty());
assertNotNull(privateKey.toPEMString());
assertNotNull(privateKey.getPKCS8PrivateKeyBytes());
}
use of com.unboundid.asn1.ASN1Null in project ldapsdk by pingidentity.
the class PKCS8PrivateKeyTestCase method testDecodeMalformedPublicKey.
/**
* Tests the behavior when trying to decode a byte array that represents a
* sequence with a malformed public key.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test(expectedExceptions = { CertException.class })
public void testDecodeMalformedPublicKey() throws Exception {
final ASN1Sequence valueSequence = new ASN1Sequence(new ASN1Integer(0), new ASN1Sequence(new ASN1ObjectIdentifier(new OID("1.2.3.4")), new ASN1Null()), new ASN1OctetString("encoded-private-key"), new ASN1OctetString((byte) 0x81));
new PKCS8PrivateKey(valueSequence.encode());
}
use of com.unboundid.asn1.ASN1Null in project ldapsdk by pingidentity.
the class PKCS8PrivateKeyTestCase method testEncodeWithInvalidAlgorithmIdentifierOID.
/**
* Tests the behavior when trying to encode a private key with an algorithm
* identifier that is not a valid OID.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test(expectedExceptions = { CertException.class })
public void testEncodeWithInvalidAlgorithmIdentifierOID() throws Exception {
final PKCS8PrivateKey privateKey = new PKCS8PrivateKey(PKCS8PrivateKeyVersion.V2, new OID("1234.5678"), new ASN1Null(), new ASN1OctetString("encoded-private-key"), null, null, null);
privateKey.encode();
}
use of com.unboundid.asn1.ASN1Null in project ldapsdk by pingidentity.
the class PKCS8PrivateKeyTestCase method testDecodeInvalidVersionNumber.
/**
* Tests the behavior when trying to decode a byte array that represents a
* sequence with an invalid version number.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test(expectedExceptions = { CertException.class })
public void testDecodeInvalidVersionNumber() throws Exception {
final ASN1Sequence valueSequence = new ASN1Sequence(new ASN1Integer(999), new ASN1Sequence(new ASN1ObjectIdentifier(new OID("1.2.3.4")), new ASN1Null()), new ASN1OctetString("encoded-private-key"));
new PKCS8PrivateKey(valueSequence.encode());
}
use of com.unboundid.asn1.ASN1Null in project ldapsdk by pingidentity.
the class PKCS8PrivateKeyTestCase method testMalformedRSAPrivateKey.
/**
* Tests the behavior with a private key algorithm that indicates that it's an
* RSA key, but with an encoded key that can't be parsed as an RSA private
* key.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testMalformedRSAPrivateKey() throws Exception {
PKCS8PrivateKey privateKey = new PKCS8PrivateKey(PKCS8PrivateKeyVersion.V1, PublicKeyAlgorithmIdentifier.RSA.getOID(), new ASN1Null(), new ASN1OctetString("malformed-rsa-private-key"), null, null, null);
privateKey = new PKCS8PrivateKey(privateKey.encode().encode());
assertNotNull(privateKey.getVersion());
assertEquals(privateKey.getVersion(), PKCS8PrivateKeyVersion.V1);
assertNotNull(privateKey.getPrivateKeyAlgorithmOID());
assertEquals(privateKey.getPrivateKeyAlgorithmOID(), PublicKeyAlgorithmIdentifier.RSA.getOID());
assertNotNull(privateKey.getPrivateKeyAlgorithmName());
assertEquals(privateKey.getPrivateKeyAlgorithmName(), "RSA");
assertNotNull(privateKey.getPrivateKeyAlgorithmNameOrOID());
assertEquals(privateKey.getPrivateKeyAlgorithmNameOrOID(), "RSA");
assertNotNull(privateKey.getPrivateKeyAlgorithmParameters());
assertNotNull(privateKey.getEncodedPrivateKey());
assertEquals(privateKey.getEncodedPrivateKey().getValue(), new ASN1OctetString("malformed-rsa-private-key").getValue());
assertNull(privateKey.getDecodedPrivateKey());
assertNull(privateKey.getAttributesElement());
assertNull(privateKey.getPublicKey());
assertNotNull(privateKey.toString());
assertNotNull(privateKey.toPEM());
assertFalse(privateKey.toPEM().isEmpty());
assertNotNull(privateKey.toPEMString());
}
Aggregations