List of usage examples for org.bouncycastle.util.encoders Base64 encode
public static byte[] encode(byte[] data)
From source file:org.gluu.oxtrust.action.UpdateTrustRelationshipAction.java
License:MIT License
/** * If there is no certificate selected, or certificate is invalid - * generates one./* ww w .j a v a 2 s. c o m*/ * * @author Oleksiy Tataryn * @return certificate for generated SP * @throws CertificateEncodingException */ private String getCertForGeneratedSP() { X509Certificate cert = SSLService.instance().getCertificate(certWrapper.getStream()); if (cert == null) { facesMessages.add(Severity.INFO, "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate."); if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) { Security.addProvider(new BouncyCastleProvider()); } try { JDKKeyPairGenerator.RSA keyPairGen = new JDKKeyPairGenerator.RSA(); keyPairGen.initialize(2048); KeyPair pair = keyPairGen.generateKeyPair(); StringWriter keyWriter = new StringWriter(); PEMWriter pemFormatWriter = new PEMWriter(keyWriter); pemFormatWriter.writeObject(pair.getPrivate()); pemFormatWriter.close(); String url = trustRelationship.getUrl().replaceFirst(".*//", ""); X509v3CertificateBuilder v3CertGen = new JcaX509v3CertificateBuilder( new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"), BigInteger.valueOf(new SecureRandom().nextInt()), new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30), new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 365 * 10)), new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"), pair.getPublic()); cert = new JcaX509CertificateConverter().setProvider("BC").getCertificate(v3CertGen.build( new JcaContentSignerBuilder("MD5withRSA").setProvider("BC").build(pair.getPrivate()))); org.apache.commons.codec.binary.Base64 encoder = new org.apache.commons.codec.binary.Base64(64); byte[] derCert = cert.getEncoded(); String pemCertPre = new String(encoder.encode(derCert)); log.debug(Shibboleth2ConfService.PUBLIC_CERTIFICATE_START_LINE); log.debug(pemCertPre); log.debug(Shibboleth2ConfService.PUBLIC_CERTIFICATE_END_LINE); saveCert(trustRelationship, pemCertPre); saveKey(trustRelationship, keyWriter.toString()); } catch (Exception e) { e.printStackTrace(); } // String certName = applicationConfiguration.getCertDir() + File.separator + StringHelper.removePunctuation(applicationConfiguration.getOrgInum()) // + "-shib.crt"; // File certFile = new File(certName); // if (certFile.exists()) { // cert = SSLService.instance().getCertificate(certName); // } } String certificate = null; if (cert != null) { try { certificate = new String(Base64.encode(cert.getEncoded())); } catch (CertificateEncodingException e) { certificate = null; facesMessages.add(Severity.ERROR, "Failed to encode provided certificate. Please notify Gluu support about this."); log.error("Failed to encode certificate to DER", e); } } else { facesMessages.add(Severity.INFO, "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate."); } return certificate; }
From source file:org.gudy.azureus2.ui.swt.auth.AuthenticatorWindow.java
License:Open Source License
public PasswordAuthentication getAuthentication(String realm, String protocol, String host, int port) { try {/*from w w w . ja v a 2s. c o m*/ this_mon.enter(); String tracker = protocol + "://" + host + ":" + port + "/"; InetAddress bind_ip = NetworkAdmin.getSingleton().getSingleHomedServiceBindAddress(); String self_addr; // System.out.println( "auth req for " + realm + " - " + tracker ); if (bind_ip == null || bind_ip.isAnyLocalAddress()) { self_addr = "127.0.0.1"; } else { self_addr = bind_ip.getHostAddress(); } // when the tracker is connected to internally we don't want to prompt // for the password. Here we return a special user and the password hash // which is picked up in the tracker auth code - search for "<internal>"! // also include the tracker IP as well as for scrapes these can occur on // a raw torrent which hasn't been modified to point to localhost if (host.equals(self_addr) || host.equals(COConfigurationManager.getStringParameter("Tracker IP", ""))) { try { byte[] pw = COConfigurationManager.getByteParameter("Tracker Password", new byte[0]); String str_pw = new String(Base64.encode(pw)); return (new PasswordAuthentication("<internal>", str_pw.toCharArray())); } catch (Throwable e) { Debug.printStackTrace(e); } } String auth_key = realm + ":" + tracker; authCache cache = (authCache) auth_cache.get(auth_key); if (cache != null) { PasswordAuthentication auth = cache.getAuth(); if (auth != null) { return (auth); } } String[] res = getAuthenticationDialog(realm, tracker); if (res == null) { return (null); } else { PasswordAuthentication auth = new PasswordAuthentication(res[0], res[1].toCharArray()); boolean save_pw = res[2].equals("true"); boolean old_entry_existed = auth_cache.put(auth_key, new authCache(auth_key, auth, save_pw)) != null; if (save_pw || old_entry_existed) { saveAuthCache(); } return (auth); } } finally { this_mon.exit(); } }
From source file:org.gudy.azureus2.ui.swt.debug.UIDebugGenerator.java
License:Open Source License
public static void generate(final String sourceRef, String additionalText) { final GeneratedResults gr = generate(null, false, "UIDebugGenerator.messageask"); if (gr != null) { AZ3Functions.provider az3 = AZ3Functions.getProvider(); if (az3 != null && gr.sendNow) { if (gr.email != null && gr.email.length() > 0) { additionalText += "\n" + gr.email; }/*from w ww . j av a 2s . com*/ ResourceDownloaderFactory rdf = ResourceDownloaderFactoryImpl.getSingleton(); String url = az3.getDefaultContentNetworkURL(az3.SERVICE_SITE_RELATIVE, new Object[] { "/debugSender.start", true }); StringBuffer postData = new StringBuffer(); PluginInterface pi = AzureusCoreFactory.getSingleton().getPluginManager() .getDefaultPluginInterface(); FeatureManager featman = pi.getUtilities().getFeatureManager(); if (featman != null) { FeatureDetails[] featureDetails = featman.getFeatureDetails("dvdburn"); if (featureDetails != null && featureDetails.length > 0) { // Could walk through details and find the most valid.. FeatureDetails bestDetails = featureDetails[0]; postData.append("license="); postData.append(UrlUtils.encode(bestDetails.getLicence().getKey())); postData.append("&"); } } postData.append("message="); postData.append(UrlUtils.encode(gr.message)); postData.append("&error="); postData.append(UrlUtils.encode(additionalText)); postData.append("&sourceRef="); postData.append(UrlUtils.encode(sourceRef)); if (gr.email != null && gr.email.length() > 0) { postData.append("&email="); postData.append(UrlUtils.encode(gr.email)); } postData.append("&debug_zip="); try { byte[] fileArray = FileUtil.readFileAsByteArray(gr.file); postData.append(UrlUtils.encode(new String(Base64.encode(fileArray)))); ResourceDownloader rd = rdf.create(new URL(url), postData.toString()); rd.addListener(new ResourceDownloaderListener() { public void reportPercentComplete(ResourceDownloader downloader, int percentage) { } public void reportAmountComplete(ResourceDownloader downloader, long amount) { } public void reportActivity(ResourceDownloader downloader, String activity) { } public void failed(ResourceDownloader downloader, ResourceDownloaderException e) { Debug.out(e); } public boolean completed(ResourceDownloader downloader, InputStream data) { try { int i = data.available(); byte[] b = new byte[i]; data.read(b); } catch (Throwable t) { } return true; } }); rd.asyncDownload(); } catch (Exception e) { Debug.out(e); } } else { MessageBoxShell mb = new MessageBoxShell( SWT.OK | SWT.CANCEL | SWT.ICON_INFORMATION | SWT.APPLICATION_MODAL, "UIDebugGenerator.complete", new String[] { gr.file.toString() }); mb.open(new UserPrompterResultListener() { public void prompterClosed(int result) { if (result == SWT.OK) { try { PlatformManagerFactory.getPlatformManager().showFile(gr.file.getAbsolutePath()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); } } }
From source file:org.iotivity.cloud.accountserver.resources.account.credprov.cert.CertificateResourceTest.java
License:Open Source License
@Test public void testReIssueBase64() throws CRLException, CertificateException { IRequest request = csrRequest(DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true);/*from w ww .j a v a2s. c om*/ certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); Map<String, Object> payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); List<BigInteger> serialNumbers = new ArrayList<>(); Map<String, Object> certMap = (Map<String, Object>) payloadData.get(Constants.CERT); InputStream in = new ByteArrayInputStream(Base64.decode((byte[]) certMap.get(Constants.DATA))); X509Certificate personaleCert = (X509Certificate) CERTIFICATE_FACTORY.generateCertificate(in); serialNumbers.add(personaleCert.getSerialNumber()); serialNumbers.add(personaleCert.getSerialNumber().subtract(BigInteger.ONE)); request = csrRequest(DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true); certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); certMap = (Map<String, Object>) payloadData.get(Constants.CERT); in = new ByteArrayInputStream(Base64.decode((byte[]) certMap.get(Constants.DATA))); personaleCert = (X509Certificate) CERTIFICATE_FACTORY.generateCertificate(in); serialNumbers.add(personaleCert.getSerialNumber()); request = csrRequest(DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true); certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); getTestMethodName(); request = CrlResourceTest.crlRequest(RequestMethod.GET, CrlResourceTest.CRL_URI, CrlResourceTest.CRL_URI_QUERY); CrlResource crlResource = new CrlResource(); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CONTENT)); hashmapCheck(mResponse, Constants.ENCODING); hashmapCheck(mResponse, Constants.DATA); if (mResponse.getPayload() != null) { payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); crlMap = (Map<String, Object>) payloadData.get(Constants.REQ_CRL); data = (byte[]) crlMap.get(Constants.DATA); crlX509 = (X509CRL) CERTIFICATE_FACTORY.generateCRL(new ByteArrayInputStream(data)); } assertEquals(DER, crlMap.get(Constants.ENCODING)); assertNotNull(data); Set<? extends X509CRLEntry> entries = crlX509.getRevokedCertificates(); Iterator<? extends X509CRLEntry> iterator = entries.iterator(); while (iterator.hasNext()) { assertTrue(serialNumbers.contains(iterator.next().getSerialNumber())); } }
From source file:org.iotivity.cloud.accountserver.resources.account.credprov.crl.CrlResourceTest.java
License:Open Source License
@Test public void testAeIssueBase64() throws Exception { byte[] csr = GenerateCSR.generatePKCS10(CertificateResourceTest.COMMON_NAME, false); IRequest request = csrRequest(CertificateResourceTest.DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true); certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); Map<String, Object> payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); List<BigInteger> serialNumbers = new ArrayList<>(); Map<String, Object> certMap = (Map<String, Object>) payloadData.get(Constants.CERT); InputStream in = new ByteArrayInputStream(Base64.decode((byte[]) certMap.get(Constants.DATA))); X509Certificate personaleCert = (X509Certificate) CERTIFICATE_FACTORY.generateCertificate(in); serialNumbers.add(personaleCert.getSerialNumber()); serialNumbers.add(personaleCert.getSerialNumber().subtract(BigInteger.ONE)); request = csrRequest(CertificateResourceTest.DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true);//from www . j a v a 2s . c o m certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); certMap = (Map<String, Object>) payloadData.get(Constants.CERT); in = new ByteArrayInputStream(Base64.decode((byte[]) certMap.get(Constants.DATA))); personaleCert = (X509Certificate) CERTIFICATE_FACTORY.generateCertificate(in); serialNumbers.add(personaleCert.getSerialNumber()); request = csrRequest(CertificateResourceTest.DEVICE_ID, CertificateConstants.BASE_64, Base64.encode(csr), RequestMethod.POST, true); certificateResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); getTestMethodName(); request = CrlResourceTest.crlRequest(RequestMethod.GET, CrlResourceTest.CRL_URI, CrlResourceTest.CRL_URI_QUERY); CrlResource crlResource = new CrlResource(); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CONTENT)); hashmapCheck(mResponse, Constants.ENCODING); hashmapCheck(mResponse, Constants.DATA); if (mResponse.getPayload() != null) { payloadData = mCbor.parsePayloadFromCbor(mResponse.getPayload(), HashMap.class); crlMap = (Map<String, Object>) payloadData.get(Constants.REQ_CRL); data = (byte[]) crlMap.get(Constants.DATA); crlX509 = (X509CRL) CERTIFICATE_FACTORY.generateCRL(new ByteArrayInputStream(data)); } assertEquals(DER, crlMap.get(Constants.ENCODING)); assertNotNull(data); Set<? extends X509CRLEntry> entries = crlX509.getRevokedCertificates(); Iterator<? extends X509CRLEntry> iterator = entries.iterator(); while (iterator.hasNext()) { assertTrue(serialNumbers.contains(iterator.next().getSerialNumber())); } }
From source file:org.iotivity.cloud.accountserver.resources.account.credprov.crl.CrlResourceTest.java
License:Open Source License
@Test public void testCrlPreconditionFailedException() throws ParseException, IOException, OperatorCreationException { getTestMethodName();/*from ww w .j a v a2s . c o m*/ getTestMethodName(); String thisUpdate = "20160823000000"; String nextUpdate = "20161123000000"; byte[] crl = CrlIssuer.CRL_ISSUER.generate(DATE_FORMAT.parse(thisUpdate), DATE_FORMAT.parse(nextUpdate), Collections.emptyList()); IRequest request = crlRequest(RequestMethod.POST, thisUpdate, nextUpdate, Base64.encode(Arrays.copyOf(crl, crl.length - 2)), BASE_64); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.PRECONDITION_FAILED)); crl = new byte[8]; request = crlRequest(RequestMethod.POST, thisUpdate, nextUpdate, Base64.encode(crl), BASE_64); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.PRECONDITION_FAILED)); crl = new byte[8]; request = crlRequest(RequestMethod.POST, thisUpdate, nextUpdate, crl, BASE_64); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.PRECONDITION_FAILED)); }
From source file:org.iotivity.cloud.accountserver.resources.account.credprov.crl.CrlResourceTest.java
License:Open Source License
@Test public void testCrlPostEncodingBase64() throws Exception { getTestMethodName();//from w w w . j a v a 2s .co m String thisUpdate = "20160831000000"; String nextUpdate = "20161123000000"; byte[] crl = CrlIssuer.CRL_ISSUER.generate(DATE_FORMAT.parse(thisUpdate), DATE_FORMAT.parse(nextUpdate), Collections.emptyList()); IRequest request = crlRequest(RequestMethod.POST, thisUpdate, nextUpdate, Base64.encode(crl), BASE_64); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CHANGED)); request = crlRequest(RequestMethod.GET, CRL_URI, CRL_URI_QUERY); crlResource.onDefaultRequestReceived(mMockDevice, request); assertTrue(methodCheck(mResponse, ResponseStatus.CONTENT)); assertEquals(DER, crlMap.get(Constants.ENCODING)); }
From source file:org.iotivity.cloud.accountserver.resources.credprov.cert.CertificateResource.java
License:Open Source License
/** * Handles post requests to Certificate Resource. * Request should be with specified format * POST /oic/credprov/cert//from w w w . j a v a 2 s . c o m * { * di? : 11-22-xx?, * csr? : { * encoding? : oic.sec.encoding.base64?, * data? : <Base64 encoded CSR Binary>? * } * } * Method checks encoding, and decodes data by specified encoding if needed. * * Method issus a certificate including User UUID in extension field, * stores issuing information (serial number, validity, device uuid, user uuid) for management (e.g. re-issue). * Response should be in next format for example: * 2.04 CHANGED * { * di? : 1111-22-xx?, * cert? : { * encoding? : oic.sec.encoding.base64?, * data? : <Base64 encoded Cert. Binary>? * }, * certchain? : { * encoding? : oic.sec.encoding.base64?, * data? : <Base64 encoded CA Cert. chain>? * } * } * or returns BAD_REQUEST: 4.0.1 if any exceptions occured. * * @param request request with payload information. * @throws ServerException */ private IResponse handlePostRequest(IRequest request) throws ServerException { byte[] requestPayload = request.getPayload(); IResponse response = MessageBuilder.createResponse(request, ResponseStatus.BAD_REQUEST); if (requestPayload != null) { Map<String, Object> payloadData = MAP_CBOR.parsePayloadFromCbor(requestPayload, HashMap.class); if (payloadData != null) { Object csr = payloadData.get(Constants.REQ_CSR); if (csr != null && csr instanceof Map) { Object encoding = ((Map<String, Object>) csr).get(ENCODING); Object data = ((Map<String, Object>) csr).get(DATA); if (encoding != null && encoding instanceof String && data != null && data instanceof byte[]) { byte[] csrData = (byte[]) data; if (encoding.equals(BASE_64)) { csrData = Base64.decode(csrData); } try { CSRParser parser = new CSRParser(csrData); String commonName = parser.getCommonName(); String pattern = "^uuid:(.*)$"; Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(commonName); String deviceId = (String) payloadData.get(RESP_DEVICE_ID); if (m.find() && m.group(1).equals(deviceId) && parser.isSignatureValid()) { CertificateManager certificateManager = new CertificateManager(deviceId); CertificateTable certificateTable = certificateManager.getCertificate(); if (certificateTable != null) { try { CrlManager.CRL_MANAGER.revoke(certificateTable.getSerialNumber()); } catch (CRLException | OperatorCreationException e) { Log.e(e.getMessage() + e.getClass()); } certificateManager.update(certificateTable, true); } PublicKey publicKey = parser.getPublicKey(); if (publicKey != null) { CertificateExtension extension = new CertificateExtension( Extension.subjectAlternativeName, false, new DERSequence(new ASN1Encodable[] { new GeneralName(GeneralName.dNSName, Constants.KEYFIELD_USERID + ":" + Utility.getUserID(deviceId)) })); CertificateBuilder certBuilder = new CertificateBuilder(parser.getSubject(), publicKey, extension); try { X509Certificate personal = certBuilder.build(); byte[] encodedCert = personal.getEncoded(); byte[] encodedCa = CertificateStorage.ROOT_CERTIFICATE.getEncoded(); if (encoding.equals(CertificateConstants.BASE_64)) { encodedCert = Base64.encode(encodedCert); encodedCa = Base64.encode(encodedCa); } certificateManager.put(Constants.RESP_DEVICE_ID, deviceId); certificateManager.put(Constants.CERT, new CSR(encoding.toString(), encodedCert)); certificateManager.put(Constants.CERT_CHAIN, new CSR(encoding.toString(), encodedCa)); certificateManager.save(personal.getSerialNumber(), personal.getNotAfter(), personal.getNotBefore()); response = MessageBuilder.createResponse(request, ResponseStatus.CHANGED, ContentFormat.APPLICATION_CBOR, MAP_CBOR.encodingPayloadToCbor(certificateManager.getPayLoad())); } catch (GeneralSecurityException | OperatorCreationException | CertIOException e) { Log.e(e.getMessage()); } } } } catch (IOException e) { Log.e(e.getMessage()); } } } } } return response; }
From source file:org.javavietnam.gis.client.midp.ui.UIController.java
License:Open Source License
public void calculateCredentials() { if ("".equals(getPromptDialog().getUsername()) || "".equals(getPromptDialog().getPassword())) { showErrorAlert(getString(UIConstants.MUST_GIVE_USER_PWD)); } else {/*from w w w . jav a2 s . c o m*/ credentials.setUsername(getPromptDialog().getUsername()); credentials.setPassword(getPromptDialog().getPassword()); // Calculate the credentials byte[] credentialsBA = (credentials.getUsername() + ":" + credentials.getPassword()).getBytes(); byte[] encodedCredentialsBA = Base64.encode(credentialsBA); credentials.setCredentials(new String(encodedCredentialsBA)); // System.out.println("************ Calculated credentials:" // + credentials.getCredentials()); try { // Set credentials for HTTPS model.setCredentials(credentials.getCredentials()); } catch (ApplicationException e) { e.printStackTrace(); showErrorAlert(e, getMainMenuUI()); } // After saving credentials, get server's capabilities getCapabilitiesRequested(); } }
From source file:org.jclouds.atmosonline.saas.config.AtmosStorageRestClientModuleTest.java
License:Apache License
Injector createInjector() { return Guice.createInjector(new AtmosStorageRestClientModule(), new ExecutorServiceModule(new WithinThreadExecutorService()), new ParserModule(), new AbstractModule() { @Override/* www.j a v a 2s. co m*/ protected void configure() { bindConstant().annotatedWith(Jsr330.named(AtmosStorageConstants.PROPERTY_EMCSAAS_ENDPOINT)) .to("http://localhost"); bindConstant().annotatedWith(Jsr330.named(AtmosStorageConstants.PROPERTY_EMCSAAS_UID)) .to("uid"); bindConstant().annotatedWith(Jsr330.named(AtmosStorageConstants.PROPERTY_EMCSAAS_KEY)) .to(new String(Base64.encode("key".getBytes()))); bindConstant() .annotatedWith(Jsr330.named(AtmosStorageConstants.PROPERTY_EMCSAAS_SESSIONINTERVAL)) .to("2"); } }); }