Search in sources :

Example 11 with SshKey

use of com.gitblit.transport.ssh.SshKey in project gitblit by gitblit.

the class LdapPublicKeyManagerTest method testGetKeys.

@Test
public void testGetKeys() throws LDAPException {
    String keyRsaOne = getRsaPubKey("UserOne@example.com");
    getDS().modify(DN_USER_ONE, new Modification(ModificationType.ADD, "sshPublicKey", keyRsaOne));
    String keyRsaTwo = getRsaPubKey("UserTwo@example.com");
    String keyDsaTwo = getDsaPubKey("UserTwo@example.com");
    getDS().modify(DN_USER_TWO, new Modification(ModificationType.ADD, "sshPublicKey", keyRsaTwo, keyDsaTwo));
    String keyRsaThree = getRsaPubKey("UserThree@example.com");
    String keyDsaThree = getDsaPubKey("UserThree@example.com");
    String keyEcThree = getEcPubKey("UserThree@example.com");
    getDS().modify(DN_USER_THREE, new Modification(ModificationType.ADD, "sshPublicKey", keyEcThree, keyRsaThree, keyDsaThree));
    LdapKeyManager kmgr = new LdapKeyManager(settings);
    List<SshKey> keys = kmgr.getKeys("UserOne");
    assertNotNull(keys);
    assertTrue(keys.size() == 1);
    assertEquals(keyRsaOne, keys.get(0).getRawData());
    keys = kmgr.getKeys("UserTwo");
    assertNotNull(keys);
    assertTrue(keys.size() == 2);
    if (keyRsaTwo.equals(keys.get(0).getRawData())) {
        assertEquals(keyDsaTwo, keys.get(1).getRawData());
    } else if (keyDsaTwo.equals(keys.get(0).getRawData())) {
        assertEquals(keyRsaTwo, keys.get(1).getRawData());
    } else {
        fail("Mismatch in UserTwo keys.");
    }
    keys = kmgr.getKeys("UserThree");
    assertNotNull(keys);
    assertTrue(keys.size() == 3);
    assertEquals(keyEcThree, keys.get(0).getRawData());
    assertEquals(keyRsaThree, keys.get(1).getRawData());
    assertEquals(keyDsaThree, keys.get(2).getRawData());
    keys = kmgr.getKeys("UserFour");
    assertNotNull(keys);
    assertTrue(keys.size() == 0);
}
Also used : SshKey(com.gitblit.transport.ssh.SshKey) Modification(com.unboundid.ldap.sdk.Modification) LdapKeyManager(com.gitblit.transport.ssh.LdapKeyManager) Test(org.junit.Test)

Example 12 with SshKey

use of com.gitblit.transport.ssh.SshKey in project gitblit by gitblit.

the class SshUnitTest method prepare.

@Before
public void prepare() {
    rwKeyPair = generator.generateKeyPair();
    MemoryKeyManager keyMgr = getKeyManager();
    keyMgr.addKey(username, new SshKey(rwKeyPair.getPublic()));
    roKeyPair = generator.generateKeyPair();
    SshKey sshKey = new SshKey(roKeyPair.getPublic());
    sshKey.setPermission(AccessPermission.CLONE);
    keyMgr.addKey(username, sshKey);
}
Also used : SshKey(com.gitblit.transport.ssh.SshKey) MemoryKeyManager(com.gitblit.transport.ssh.MemoryKeyManager) Before(org.junit.Before)

Aggregations

SshKey (com.gitblit.transport.ssh.SshKey)12 Test (org.junit.Test)7 LdapKeyManager (com.gitblit.transport.ssh.LdapKeyManager)6 Modification (com.unboundid.ldap.sdk.Modification)6 KeyPair (java.security.KeyPair)2 AccessPermission (com.gitblit.Constants.AccessPermission)1 UserModel (com.gitblit.models.UserModel)1 MemoryKeyManager (com.gitblit.transport.ssh.MemoryKeyManager)1 Signature (java.security.Signature)1 ArrayList (java.util.ArrayList)1 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)1 AjaxLink (org.apache.wicket.ajax.markup.html.AjaxLink)1 AjaxButton (org.apache.wicket.ajax.markup.html.form.AjaxButton)1 Label (org.apache.wicket.markup.html.basic.Label)1 Form (org.apache.wicket.markup.html.form.Form)1 Item (org.apache.wicket.markup.repeater.Item)1 DataView (org.apache.wicket.markup.repeater.data.DataView)1 ListDataProvider (org.apache.wicket.markup.repeater.data.ListDataProvider)1 ReceivePack (org.eclipse.jgit.transport.ReceivePack)1 UploadPack (org.eclipse.jgit.transport.UploadPack)1