tomaswolf commented on issue #590:
URL: https://github.com/apache/mina-sshd/issues/590#issuecomment-2323424687

   We have the following direct imports from org.bouncycastle:
   ```
   ~/git/mina-sshd/sshd-core $ find . -name "*.java" -exec grep -nHi 'import 
org.bouncycastle' {} \;
   
./src/test/java/org/apache/sshd/common/cipher/OpenSshCipherTest.java:33:import 
org.bouncycastle.jce.provider.BouncyCastleProvider;
   
./src/test/java/org/apache/sshd/client/opensshcerts/ClientOpenSSHCertificatesTest.java:44:import
 org.bouncycastle.jce.provider.BouncyCastleProvider;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:24:import 
org.bouncycastle.crypto.AsymmetricCipherKeyPair;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:25:import 
org.bouncycastle.crypto.SecretWithEncapsulation;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:26:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMExtractor;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:27:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKEMGenerator;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:28:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyGenerationParameters;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:29:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeKeyPairGenerator;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:30:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimeParameters;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:31:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePrivateKeyParameters;
   ./src/main/java/org/apache/sshd/common/kex/SNTRUP761.java:32:import 
org.bouncycastle.pqc.crypto.ntruprime.SNTRUPrimePublicKeyParameters;
   ~/git/mina-sshd/sshd-core $ cd ../sshd-common
   ~/git/mina-sshd/sshd-common $ find . -name "*.java" -exec grep -nHi 'import 
org.bouncycastle' {} \;
   
./src/test/java/org/apache/sshd/common/cipher/BaseCipherResetTest.java:35:import
 org.bouncycastle.jce.provider.BouncyCastleProvider;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:45:import
 org.bouncycastle.openssl.PEMDecryptorProvider;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:46:import
 org.bouncycastle.openssl.PEMEncryptedKeyPair;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:47:import
 org.bouncycastle.openssl.PEMKeyPair;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:48:import
 org.bouncycastle.openssl.PEMParser;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:49:import
 org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleKeyPairResourceParser.java:50:import
 org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java:26:import
 org.bouncycastle.crypto.prng.RandomGenerator;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandom.java:27:import
 org.bouncycastle.crypto.prng.VMPCRandomGenerator;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleRandomFactory.java:24:import
 org.bouncycastle.crypto.prng.RandomGenerator;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleGeneratorHostKeyProvider.java:34:import
 org.bouncycastle.openssl.jcajce.JcaPEMWriter;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleEncryptedPrivateKeyInfoDecryptor.java:28:import
 org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleEncryptedPrivateKeyInfoDecryptor.java:29:import
 org.bouncycastle.pkcs.PKCSException;
   
./src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleEncryptedPrivateKeyInfoDecryptor.java:30:import
 org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder;
   ~/git/mina-sshd/sshd-common $
   ```
   We can ignore test classes. None of these classes exist in bc-fips 2.0.0.
   
   So in sshd-core, there's only the new SNTRUP761, and that is properly 
guarded. It won't be used if the classes are not present.
   
   In common, there is stuff for PEM and PKCS8 parsing. The classes are not 
present in bc-fips anyway, so there's no way this can ever work with bc-fips. 
Apparently the `PKCS8PEMResourceKeyPairParser` is the problem with its 
`Decryptor`. This needs a plain JCE fallback, so that we never even try to use 
BC there if it isn't present.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to