use of org.cloudfoundry.credhub.credential.SshCredentialValue in project credhub by cloudfoundry-incubator.
the class CredentialsControllerGenerateTest method beforeEach.
@Before
public void beforeEach() {
Consumer<Long> fakeTimeSetter = mockOutCurrentTimeProvider(mockCurrentTimeProvider);
userContext = mock(UserContext.class);
fakeTimeSetter.accept(FROZEN_TIME.toEpochMilli());
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).apply(springSecurity()).build();
when(credentialGenerator.generateCredential(any(StringGenerationParameters.class))).thenReturn(new StringCredentialValue(FAKE_PASSWORD_NAME));
when(sshGenerator.generateCredential(any(SshGenerationParameters.class))).thenReturn(new SshCredentialValue(PUBLIC_KEY, PRIVATE_KEY, null));
when(rsaGenerator.generateCredential(any(RsaGenerationParameters.class))).thenReturn(new RsaCredentialValue(PUBLIC_KEY, PRIVATE_KEY));
when(certificateGenerator.generateCredential(any(CertificateGenerationParameters.class))).thenReturn(new CertificateCredentialValue("ca_cert", CERT, PRIVATE_KEY, null));
}
use of org.cloudfoundry.credhub.credential.SshCredentialValue in project credhub by cloudfoundry-incubator.
the class CredentialsControllerTypeSpecificGenerateTest method setup.
@Before
public void setup() throws Exception {
String fakeSalt = cryptSaltFactory.generateSalt(FAKE_PASSWORD);
Consumer<Long> fakeTimeSetter = mockOutCurrentTimeProvider(mockCurrentTimeProvider);
fakeTimeSetter.accept(FROZEN_TIME.toEpochMilli());
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).apply(springSecurity()).build();
when(passwordGenerator.generateCredential(any(GenerationParameters.class))).thenReturn(new StringCredentialValue(FAKE_PASSWORD));
when(certificateGenerator.generateCredential(any(GenerationParameters.class))).thenReturn(new CertificateCredentialValue(CA, CERTIFICATE, PRIVATE_KEY, null));
when(sshGenerator.generateCredential(any(GenerationParameters.class))).thenReturn(new SshCredentialValue(PUBLIC_KEY, PRIVATE_KEY, null));
when(rsaGenerator.generateCredential(any(GenerationParameters.class))).thenReturn(new RsaCredentialValue(PUBLIC_KEY, PRIVATE_KEY));
when(userGenerator.generateCredential(any(GenerationParameters.class))).thenReturn(new UserCredentialValue(USERNAME, FAKE_PASSWORD, fakeSalt));
auditingHelper = new AuditingHelper(requestAuditRecordRepository, eventAuditRecordRepository);
}
use of org.cloudfoundry.credhub.credential.SshCredentialValue in project credhub by cloudfoundry-incubator.
the class CredentialFactoryTest method makeCredentialFromRequest_givenSshType_andNoExisting_returnsSshCredential.
@Test
public void makeCredentialFromRequest_givenSshType_andNoExisting_returnsSshCredential() throws Exception {
SshCredentialValue sshValue = new SshCredentialValue("public-key", PLAINTEXT_VALUE, null);
SshCredentialVersion credential = (SshCredentialVersion) subject.makeNewCredentialVersion(CredentialType.valueOf("ssh"), CREDENTIAL_NAME, sshValue, null, null);
MatcherAssert.assertThat(credential.getCredential().getName(), equalTo(CREDENTIAL_NAME));
assertThat(credential.getPublicKey(), equalTo("public-key"));
assertThat(credential.getPrivateKey(), equalTo(PLAINTEXT_VALUE));
}
use of org.cloudfoundry.credhub.credential.SshCredentialValue in project credhub by cloudfoundry-incubator.
the class SshGenerator method generateCredential.
@Override
public SshCredentialValue generateCredential(GenerationParameters p) {
SshGenerationParameters params = (SshGenerationParameters) p;
try {
final KeyPair keyPair = keyGenerator.generateKeyPair(params.getKeyLength());
String sshComment = params.getSshComment();
String sshCommentMessage = StringUtils.isEmpty(sshComment) ? "" : " " + sshComment;
String publicKey = CertificateFormatter.derOf((RSAPublicKey) keyPair.getPublic()) + sshCommentMessage;
String privateKey = CertificateFormatter.pemOf(keyPair.getPrivate());
return new SshCredentialValue(publicKey, privateKey, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
use of org.cloudfoundry.credhub.credential.SshCredentialValue in project credhub by cloudfoundry-incubator.
the class SshGeneratorTest method generateCredential_shouldUseTheProvidedSSHComment.
@Test
public void generateCredential_shouldUseTheProvidedSSHComment() throws Exception {
SshGenerationParameters sshGenerationParameters = new SshGenerationParameters();
sshGenerationParameters.setSshComment("this is an ssh comment");
final SshCredentialValue ssh = subject.generateCredential(sshGenerationParameters);
String expectedPublicKey = CertificateFormatter.derOf((RSAPublicKey) keyPair.getPublic()) + " this is an ssh comment";
assertThat(ssh.getPublicKey(), equalTo(expectedPublicKey));
}
Aggregations