use of org.xwiki.crypto.pkix.CertificateFactory in project xwiki-platform by xwiki.
the class X509KeyWikiStoreTest method setUp.
@Before
public void setUp() throws Exception {
EntityReferenceProvider valueProvider = mock(EntityReferenceProvider.class);
when(valueProvider.getDefaultReference(EntityType.WIKI)).thenReturn(WIKI_REFERENCE);
when(valueProvider.getDefaultReference(EntityType.SPACE)).thenReturn(SPACE_REFERENCE);
when(valueProvider.getDefaultReference(EntityType.DOCUMENT)).thenReturn(DOCUMENT_REFERENCE);
mocker.registerComponent(EntityReferenceProvider.class, "current", valueProvider);
Provider<XWikiContext> xcontextProvider = mocker.registerMockComponent(XWikiContext.TYPE_PROVIDER);
xcontext = mock(XWikiContext.class);
when(xcontextProvider.get()).thenReturn(xcontext);
xwiki = mock(com.xpn.xwiki.XWiki.class);
when(xcontext.getWiki()).thenReturn(xwiki);
BinaryStringEncoder encoder = mocker.getInstance(BinaryStringEncoder.class, "Base64");
when(encoder.encode(PRIVATEKEY, 64)).thenReturn(ENCODED_PRIVATEKEY);
when(encoder.decode(ENCODED_PRIVATEKEY)).thenReturn(PRIVATEKEY);
when(encoder.encode(ENCRYPTED_PRIVATEKEY, 64)).thenReturn(ENCODED_ENCRYPTED_PRIVATEKEY);
when(encoder.decode(ENCODED_ENCRYPTED_PRIVATEKEY)).thenReturn(ENCRYPTED_PRIVATEKEY);
when(encoder.encode(CERTIFICATE, 64)).thenReturn(ENCODED_CERTIFICATE);
when(encoder.decode(ENCODED_CERTIFICATE)).thenReturn(CERTIFICATE);
when(encoder.encode(SUBJECT_KEYID)).thenReturn(ENCODED_SUBJECTKEYID);
when(encoder.decode(ENCODED_SUBJECTKEYID)).thenReturn(SUBJECT_KEYID);
privateKey = mock(PrivateKeyParameters.class);
when(privateKey.getEncoded()).thenReturn(PRIVATEKEY);
AsymmetricKeyFactory keyFactory = mocker.getInstance(AsymmetricKeyFactory.class);
when(keyFactory.fromPKCS8(PRIVATEKEY)).thenReturn(privateKey);
PrivateKeyPasswordBasedEncryptor encryptor = mocker.getInstance(PrivateKeyPasswordBasedEncryptor.class);
when(encryptor.encrypt(PASSWORD, privateKey)).thenReturn(ENCRYPTED_PRIVATEKEY);
when(encryptor.decrypt(PASSWORD, ENCRYPTED_PRIVATEKEY)).thenReturn(privateKey);
certificate = mock(X509CertifiedPublicKey.class);
when(certificate.getSerialNumber()).thenReturn(SERIAL);
when(certificate.getIssuer()).thenReturn(new DistinguishedName(ISSUER));
when(certificate.getSubject()).thenReturn(new DistinguishedName(SUBJECT));
when(certificate.getEncoded()).thenReturn(CERTIFICATE);
CertificateFactory certificateFactory = mocker.getInstance(CertificateFactory.class, "X509");
when(certificateFactory.decode(CERTIFICATE)).thenReturn(certificate);
X509Extensions extensions = mock(X509Extensions.class);
when(certificate.getExtensions()).thenReturn(extensions);
when(extensions.getSubjectKeyIdentifier()).thenReturn(SUBJECT_KEYID);
when(certificate.getSubjectKeyIdentifier()).thenReturn(SUBJECT_KEYID);
keyPair = new CertifiedKeyPair(privateKey, certificate);
QueryManager queryManager = mocker.getInstance(QueryManager.class);
query = mock(Query.class);
when(query.bindValue(any(String.class), any())).thenReturn(query);
when(query.setWiki(WIKI)).thenReturn(query);
when(queryManager.createQuery(any(String.class), any(String.class))).thenReturn(query);
store = mocker.getComponentUnderTest();
}
use of org.xwiki.crypto.pkix.CertificateFactory in project xwiki-platform by xwiki.
the class X509CertificateWikiStoreTest method mockMultiCertsQuery.
private CertifiedPublicKey[] mockMultiCertsQuery() throws Exception {
CertifiedPublicKey[] certs = new CertifiedPublicKey[2];
byte[] cert2 = "certificate2".getBytes();
String encodedCert2 = "encoded_certificate2";
certs[0] = getMockedCertificate(true);
certs[1] = getMockedCertificate(false);
CertificateFactory factory = this.mocker.getInstance(CertificateFactory.class, "X509");
when(factory.decode(CERTIFICATE)).thenReturn(certs[0]);
when(factory.decode(cert2)).thenReturn(certs[1]);
BinaryStringEncoder encoder = this.mocker.getInstance(BinaryStringEncoder.class, "Base64");
when(encoder.encode(cert2, 64)).thenReturn(encodedCert2);
when(encoder.decode(encodedCert2)).thenReturn(cert2);
when(this.query.<String>execute()).thenReturn(Arrays.asList(ENCODED_CERTIFICATE, encodedCert2));
return certs;
}
use of org.xwiki.crypto.pkix.CertificateFactory in project xwiki-platform by xwiki.
the class X509CertificateWikiStoreTest method mockSingleCertQuery.
private CertifiedPublicKey mockSingleCertQuery() throws Exception {
CertifiedPublicKey certificate = getMockedCertificate(true);
CertificateFactory factory = mocker.getInstance(CertificateFactory.class, "X509");
when(factory.decode(CERTIFICATE)).thenReturn(certificate);
when(query.<String>execute()).thenReturn(Collections.singletonList(ENCODED_CERTIFICATE));
return certificate;
}
Aggregations