-
Bug
-
Resolution: Not an Issue
-
P3
-
21, 22
-
b24
-
generic
-
generic
A DESCRIPTION OF THE PROBLEM :
The attached code works on all Java versions except 21
REGRESSION : Last worked in version 17.0.9
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
x.509
ACTUAL -
unable to decode, extra data
---------- BEGIN SOURCE ----------
import java.security.*;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
public class PublicKeyTester {
public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeySpecException {
String keyString = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkN6m/iR+PREcXJfFCaqoohUuteSau4NISwfXXl3yts3C424GuKUS6+3LDJ96xvVMolPBe8haurs1ms1miIq/8CdGlcrAw4FjPCBTZNHdpRA/R75K5crahTieSZalj+ccpOuS9CJujKs8/PLcJeOsXMeOon5XV5Z9laI1tJk8Z9ULPdqxCaHbEWI9RdMGEU8rTlILZSA1+bbh/hLUA6x/BlCAu8wO+Q+e1eWACRkLouCNP67C9xJlfKlzibUnjFOSdmsaJtZgh5BEWkTQeaMO6o6DUhjIwrnVCjfk9O+RcoGYMi6VmpNcAtCFGTB38APpTsu39Sm6MzngNw2fy2AcmwIDAQAB+33pFTKFkH7p2hxZAnUZb5Ji4Uk6RldhsNQJzugoEpJLzkveRTsor+AmrdAiRDY7bNLatnvZnhtrlaCnyT/qGebaYMaXVg88Zb/XlCcAU+NkrXvqF0EvTFqnW46k2tLhFPJS6sKnwkSUTPGWWeBb5j6TPAXR0Ral5g9PHnbAhvyVawVmy9M7NIpVf9OZy9PjQIDAQAB";
byte[] keyBytes = Base64.getDecoder().decode(keyString);
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(spec);
System.out.println(publicKey.getFormat());
}
}
---------- END SOURCE ----------
FREQUENCY : always
The attached code works on all Java versions except 21
REGRESSION : Last worked in version 17.0.9
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
x.509
ACTUAL -
unable to decode, extra data
---------- BEGIN SOURCE ----------
import java.security.*;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
public class PublicKeyTester {
public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeySpecException {
String keyString = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkN6m/iR+PREcXJfFCaqoohUuteSau4NISwfXXl3yts3C424GuKUS6+3LDJ96xvVMolPBe8haurs1ms1miIq/8CdGlcrAw4FjPCBTZNHdpRA/R75K5crahTieSZalj+ccpOuS9CJujKs8/PLcJeOsXMeOon5XV5Z9laI1tJk8Z9ULPdqxCaHbEWI9RdMGEU8rTlILZSA1+bbh/hLUA6x/BlCAu8wO+Q+e1eWACRkLouCNP67C9xJlfKlzibUnjFOSdmsaJtZgh5BEWkTQeaMO6o6DUhjIwrnVCjfk9O+RcoGYMi6VmpNcAtCFGTB38APpTsu39Sm6MzngNw2fy2AcmwIDAQAB+33pFTKFkH7p2hxZAnUZb5Ji4Uk6RldhsNQJzugoEpJLzkveRTsor+AmrdAiRDY7bNLatnvZnhtrlaCnyT/qGebaYMaXVg88Zb/XlCcAU+NkrXvqF0EvTFqnW46k2tLhFPJS6sKnwkSUTPGWWeBb5j6TPAXR0Ral5g9PHnbAhvyVawVmy9M7NIpVf9OZy9PjQIDAQAB";
byte[] keyBytes = Base64.getDecoder().decode(keyString);
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(spec);
System.out.println(publicKey.getFormat());
}
}
---------- END SOURCE ----------
FREQUENCY : always
- duplicates
-
JDK-8319940 Public key. The key works in all java version prior 21
-
- Closed
-
- relates to
-
JDK-8308010 X509Key and PKCS8Key allows garbage bytes at the end
-
- Resolved
-