java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding

Jenkins JIRA | Gabriel Lopez | 11 months ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    It is not possible to run slaves anymore using IBM Java. This is due to the new [encrypted communication|https://issues.jenkins-ci.org/browse/JENKINS-26580] introduced in Jenkins 1.653, where the handshake is done [using "AES/CTR/PKCS5Padding"|https://github.com/jenkinsci/remoting/blob/master/src/main/java/org/jenkinsci/remoting/engine/HandshakeCiphers.java#L109]. I couldn't find what ciphers IBM Java does or doesn't support (maybe nothing else than the [default ones|https://www.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.security.api.doc/jce/javax/crypto/Cipher.html]), but I created a quick test to check (see below). Would it be possible to switch to a cipher supported by IBM Java? *Test:* import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; public class PaddingIssue { private static final String CIPHER = "AES/CTR/PKCS5Padding"; public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException { Cipher encryptCipher = Cipher.getInstance(CIPHER); System.out.println("Fine!"); } } *Executions:* IBM JAVA 1.6 /usr/lib/j2re1.6-ibm/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more IBM JAVA 1.7 /usr/lib/j2re1.7-ibm/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more IBM JAVA 1.8 /usr/lib/jvm/java-ibm-x86_64-80/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AbstractBufferingCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more OpenJDK 7 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java PaddingIssue Fine! *Full stacktrace:* Mar 22, 2016 3:54:13 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Trying protocol: JNLP3-connect Mar 22, 2016 3:54:14 PM hudson.remoting.jnlp.Main$CuiListener error SEVERE: Failed to create handshake ciphers java.lang.AssertionError: Failed to create handshake ciphers at org.jenkinsci.remoting.engine.HandshakeCiphers.create(HandshakeCiphers.java:116) at org.jenkinsci.remoting.engine.JnlpProtocol3.performHandshake(JnlpProtocol3.java:138) at org.jenkinsci.remoting.engine.JnlpProtocol.establishChannel(JnlpProtocol.java:77) at hudson.remoting.Engine.run(Engine.java:308) Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at org.jenkinsci.remoting.engine.HandshakeCiphers.create(HandshakeCiphers.java:109) ... 3 more Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10 126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a_.a(Unknown Source) ... 5 more

    Jenkins JIRA | 11 months ago | Gabriel Lopez
    java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding
  2. 0

    [JENKINS-34121] IBM Java doesn't support AES/CTR/PKCS5Padding, required for JNLP3 - Jenkins JIRA

    jenkins-ci.org | 8 months ago
    java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding
  3. 0

    It is not possible to run slaves anymore using IBM Java. This is due to the new [encrypted communication|https://issues.jenkins-ci.org/browse/JENKINS-26580] introduced in Jenkins 1.653, where the handshake is done [using "AES/CTR/PKCS5Padding"|https://github.com/jenkinsci/remoting/blob/master/src/main/java/org/jenkinsci/remoting/engine/HandshakeCiphers.java#L109]. I couldn't find what ciphers IBM Java does or doesn't support (maybe nothing else than the [default ones|https://www.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.security.api.doc/jce/javax/crypto/Cipher.html]), but I created a quick test to check (see below). Would it be possible to switch to a cipher supported by IBM Java? *Test:* import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; public class PaddingIssue { private static final String CIPHER = "AES/CTR/PKCS5Padding"; public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException { Cipher encryptCipher = Cipher.getInstance(CIPHER); System.out.println("Fine!"); } } *Executions:* IBM JAVA 1.6 /usr/lib/j2re1.6-ibm/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more IBM JAVA 1.7 /usr/lib/j2re1.7-ibm/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more IBM JAVA 1.8 /usr/lib/jvm/java-ibm-x86_64-80/jre/bin/java PaddingIssue Exception in thread "main" java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at PaddingIssue.main(PaddingIssue.java:10) Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10126Padding or NoPadding at com.ibm.crypto.provider.AbstractBufferingCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a.a(Unknown Source) ... 2 more OpenJDK 7 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java PaddingIssue Fine! *Full stacktrace:* Mar 22, 2016 3:54:13 PM hudson.remoting.jnlp.Main$CuiListener status INFO: Trying protocol: JNLP3-connect Mar 22, 2016 3:54:14 PM hudson.remoting.jnlp.Main$CuiListener error SEVERE: Failed to create handshake ciphers java.lang.AssertionError: Failed to create handshake ciphers at org.jenkinsci.remoting.engine.HandshakeCiphers.create(HandshakeCiphers.java:116) at org.jenkinsci.remoting.engine.JnlpProtocol3.performHandshake(JnlpProtocol3.java:138) at org.jenkinsci.remoting.engine.JnlpProtocol.establishChannel(JnlpProtocol.java:77) at hudson.remoting.Engine.run(Engine.java:308) Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding at javax.crypto.Cipher.getInstance(Unknown Source) at org.jenkinsci.remoting.engine.HandshakeCiphers.create(HandshakeCiphers.java:109) ... 3 more Caused by: javax.crypto.NoSuchPaddingException: CTR mode must be used with ISO10 126Padding or NoPadding at com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source) at javax.crypto.Cipher$a_.a(Unknown Source) ... 5 more

    Jenkins JIRA | 11 months ago | Gabriel Lopez
    java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CTR/PKCS5Padding
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [JIRA] [core] (JENKINS-34121) IBM Java doesn't support AES/CTR/PKCS5Padding, required for JNLP3

    Google Groups | 11 months ago | gaba...@ie.ibm.com (JIRA)
    java.lang.AssertionError: Failed to create handshake ciphers
  6. 0

    Problem Deploying flex application in WAS

    Google Groups | 9 years ago | vinay.p...@gmail.com
    java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CBC/ISO10126Padding

    Root Cause Analysis

    1. javax.crypto.NoSuchPaddingException

      CTR mode must be used with ISO10126Padding or NoPadding

      at com.ibm.crypto.provider.AESCipher.engineSetPadding()
    2. com.ibm.crypto
      AESCipher.engineSetPadding
      1. com.ibm.crypto.provider.AESCipher.engineSetPadding(Unknown Source)
      1 frame
    3. Android Platform
      Cipher.getInstance
      1. javax.crypto.Cipher$a.a(Unknown Source)
      2. javax.crypto.Cipher.getInstance(Unknown Source)
      2 frames
    4. Unknown
      PaddingIssue.main
      1. PaddingIssue.main(PaddingIssue.java:10)
      1 frame