X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.lib.sshd%2Fsrc%2Forg%2Fargeo%2Fcms%2Fssh%2FSshKeyPair.java;h=f8153f38a2d507fcd4a4b8ae0846b2bfa385174c;hb=HEAD;hp=f5cbb04501498c725794edcce32f173ed79e4a87;hpb=3b45f571938e0eb6803084aac3f2bd298e6026ba;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/SshKeyPair.java b/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/SshKeyPair.java index f5cbb0450..f8153f38a 100644 --- a/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/SshKeyPair.java +++ b/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/SshKeyPair.java @@ -19,18 +19,19 @@ import java.security.spec.RSAPublicKeySpec; import org.apache.sshd.common.config.keys.KeyUtils; import org.apache.sshd.common.config.keys.PublicKeyEntry; +import org.argeo.cms.bc.BcUtils; import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; import org.bouncycastle.openssl.PEMDecryptorProvider; import org.bouncycastle.openssl.PEMEncryptedKeyPair; import org.bouncycastle.openssl.PEMKeyPair; import org.bouncycastle.openssl.PEMParser; import org.bouncycastle.openssl.PKCS8Generator; -import org.bouncycastle.openssl.bc.BcPEMDecryptorProvider; import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; import org.bouncycastle.openssl.jcajce.JcaPEMWriter; import org.bouncycastle.openssl.jcajce.JcaPKCS8Generator; import org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8DecryptorProviderBuilder; import org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder; +import org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder; import org.bouncycastle.operator.InputDecryptorProvider; import org.bouncycastle.operator.OutputEncryptor; import org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo; @@ -150,7 +151,9 @@ public class SshKeyPair { KeyPair kp; if (object instanceof PEMEncryptedKeyPair) { PEMEncryptedKeyPair ekp = (PEMEncryptedKeyPair) object; - PEMDecryptorProvider decryptorProvider = new BcPEMDecryptorProvider(password); + JcePEMDecryptorProviderBuilder decryptorProviderBuilder = new JcePEMDecryptorProviderBuilder(); + decryptorProviderBuilder.setProvider(BcUtils.BC_SECURITY_PROVIDER); + PEMDecryptorProvider decryptorProvider = decryptorProviderBuilder.build(password); PEMKeyPair pemKp = ekp.decryptKeyPair(decryptorProvider); kp = converter.getKeyPair(pemKp); } else if (object instanceof PKCS8EncryptedPrivateKeyInfo) {