<classpathentry kind="lib" path="ext/bcprov-jdk15on-1.57.jar" sourcepath="ext/src/bcprov-jdk15on-1.57.jar" />
<classpathentry kind="lib" path="ext/bcmail-jdk15on-1.57.jar" sourcepath="ext/src/bcmail-jdk15on-1.57.jar" />
<classpathentry kind="lib" path="ext/bcpkix-jdk15on-1.57.jar" sourcepath="ext/src/bcpkix-jdk15on-1.57.jar" />
- <classpathentry kind="lib" path="ext/sshd-core-1.2.0.jar" sourcepath="ext/src/sshd-core-1.2.0.jar" />
+ <classpathentry kind="lib" path="ext/eddsa-0.2.0.jar" sourcepath="ext/src/eddsa-0.2.0.jar" />
+ <classpathentry kind="lib" path="ext/sshd-core-1.6.0.jar" sourcepath="ext/src/sshd-core-1.6.0.jar" />
<classpathentry kind="lib" path="ext/mina-core-2.0.21.jar" sourcepath="ext/src/mina-core-2.0.21.jar" />
<classpathentry kind="lib" path="ext/rome-0.9.jar" sourcepath="ext/src/rome-0.9.jar" />
<classpathentry kind="lib" path="ext/jdom-1.0.jar" sourcepath="ext/src/jdom-1.0.jar" />
bouncycastle.version : 1.57
selenium.version : 2.28.0
wikitext.version : 1.4
- sshd.version: 1.2.0
+ sshd.version: 1.6.0
mina.version: 2.0.21
guice.version : 4.0
# Gitblit maintains a fork of guice-servlet
- compile 'org.bouncycastle:bcprov-jdk15on:${bouncycastle.version}' :war
- compile 'org.bouncycastle:bcmail-jdk15on:${bouncycastle.version}' :war
- compile 'org.bouncycastle:bcpkix-jdk15on:${bouncycastle.version}' :war
+- compile 'net.i2p.crypto:eddsa:0.2.0' :war !org.easymock
- compile 'org.apache.sshd:sshd-core:${sshd.version}' :war !org.easymock
- compile 'org.apache.mina:mina-core:${mina.version}' :war !org.easymock
- compile 'rome:rome:0.9' :war :manager :api
</library>
</orderEntry>
<orderEntry type="module-library">
- <library name="sshd-core-1.2.0.jar">
+ <library name="eddsa-0.2.0.jar">
<CLASSES>
- <root url="jar://$MODULE_DIR$/ext/sshd-core-1.2.0.jar!/" />
+ <root url="jar://$MODULE_DIR$/ext/eddsa-0.2.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root url="jar://$MODULE_DIR$/ext/src/sshd-core-1.2.0.jar!/" />
+ <root url="jar://$MODULE_DIR$/ext/src/eddsa-0.2.0.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="sshd-core-1.6.0.jar">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/ext/sshd-core-1.6.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/ext/src/sshd-core-1.6.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
import java.util.NoSuchElementException;
import org.apache.sshd.common.keyprovider.AbstractKeyPairProvider;
-import org.apache.sshd.common.util.SecurityUtils;
+import org.apache.sshd.common.util.security.SecurityUtils;
import org.bouncycastle.openssl.PEMDecryptorProvider;
import org.bouncycastle.openssl.PEMEncryptedKeyPair;
import org.bouncycastle.openssl.PEMKeyPair;
public class NonForwardingFilter implements ForwardingFilter {
- @Override
- public boolean canConnect(Type type, SshdSocketAddress address, Session session) {
- return false;
- }
+ @Override
+ public boolean canConnect(Type type, SshdSocketAddress address, Session session) {
+ return false;
+ }
- @Override
- public boolean canForwardAgent(Session session) {
- return false;
- }
+ @Override
+ public boolean canForwardAgent(Session session, String requestType) {
+ return false;
+ }
- @Override
- public boolean canForwardX11(Session session) {
- return false;
- }
+ @Override
+ public boolean canForwardX11(Session session, String requestType) {
+ return false;
+ }
- @Override
- public boolean canListen(SshdSocketAddress address, Session session) {
- return false;
- }
+ @Override
+ public boolean canListen(SshdSocketAddress address, Session session) {
+ return false;
+ }
}
import org.apache.sshd.common.io.IoServiceFactoryFactory;
import org.apache.sshd.common.io.mina.MinaServiceFactoryFactory;
import org.apache.sshd.common.io.nio2.Nio2ServiceFactoryFactory;
-import org.apache.sshd.common.util.SecurityUtils;
+import org.apache.sshd.common.util.security.SecurityUtils;
+import org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar;
+import org.apache.sshd.common.util.security.eddsa.EdDSASecurityProviderRegistrar;
import org.apache.sshd.server.SshServer;
import org.apache.sshd.server.auth.pubkey.CachingPublicKeyAuthenticator;
import org.bouncycastle.openssl.PEMWriter;
IStoredSettings settings = gitblit.getSettings();
// Ensure that Bouncy Castle is our JCE provider
- SecurityUtils.setRegisterBouncyCastle(true);
+ SecurityUtils.registerSecurityProvider(new BouncyCastleSecurityProviderRegistrar());
+ // Add support for ED25519_SHA512
+ SecurityUtils.registerSecurityProvider(new EdDSASecurityProviderRegistrar());
if (SecurityUtils.isBouncyCastleRegistered()) {
- log.debug("BouncyCastle is registered as a JCE provider");
+ log.info("BouncyCastle is registered as a JCE provider");
}
// Generate host RSA and DSA keypairs and create the host keypair provider
return new SendMessage(gitblit);
}
+ @Override
+ public Command get() {
+ return create();
+ }
+
private static class SendMessage implements Command, SessionAware {
private final IPublicKeyManager km;
import java.util.List;
import java.util.Map;
-import org.apache.sshd.common.util.SecurityUtils;
+import org.apache.sshd.common.util.security.SecurityUtils;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;