Package org.wso2.carbon.core.util

Examples of org.wso2.carbon.core.util.KeyStoreManager


    try {

      for (int i = 0; i < keystores.length; i++) {
        if (KeyStoreUtil.isPrimaryStore(keystores[i].getKeyStoreName())) {
          KeyStoreManager keyMan = KeyStoreManager.getInstance((UserRegistry)registry);
          keyStore = keyMan.getPrimaryKeyStore();
          ServerConfiguration serverConfig = ServerConfiguration.getInstance();
          privateKeyPassowrd = serverConfig
              .getFirstProperty(RegistryResources.SecurityManagement.SERVER_PRIVATE_KEY_PASSWORD);
          return keyStore.getKey(alias, privateKeyPassowrd.toCharArray());
        }
View Full Code Here


    private String generateKeyPair() throws Exception {

        String domainName = SAMLSSOUtil.getRealmService().getTenantManager().getDomain(registry.getTenantId());
        //load keystore
        X509V3CertificateGenerator v3CertGen = new X509V3CertificateGenerator();
        KeyStoreManager keyMan = KeyStoreManager.getInstance(null);
        KeyStore keyStore = keyMan.getKeyStore("userSSO.jks");

        //generate keypair
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(1024);
        KeyPair keyPair = keyPairGenerator.generateKeyPair();

        v3CertGen.setSerialNumber(BigInteger.valueOf(new SecureRandom().nextInt()));
        v3CertGen.setIssuerDN(new X509Principal("CN=" + domainName + ", OU=None, O=None L=None, C=None"));
        v3CertGen.setNotBefore(new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30));
        v3CertGen.setNotAfter(new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 365 * 10)));
        v3CertGen.setSubjectDN(new X509Principal("CN=" + domainName + ", OU=None, O=None L=None, C=None"));
        v3CertGen.setPublicKey(keyPair.getPublic());
        v3CertGen.setSignatureAlgorithm("MD5WithRSAEncryption");
        X509Certificate PKCertificate = v3CertGen.generateX509Certificate(keyPair.getPrivate());

        //Generate the password
        SecureRandom random = new SecureRandom();
        String randString = new BigInteger(130, random).toString(12);
        String password = randString.substring(randString.length() - 10, randString.length());

        //add private key to KS
        keyStore.setKeyEntry(new Integer(registry.getTenantId()).toString(), keyPair.getPrivate(), password.toCharArray(),
                new java.security.cert.Certificate[]{PKCertificate});

        keyMan.updateKeyStore("userSSO.jks", keyStore);

        //save pub. key to a file
        String filePath = dumpPubCert(MessageContext.getCurrentMessageContext().getConfigurationContext()
                , PKCertificate.getEncoded(), null);

View Full Code Here

      KeyStoreAdmin keyAdmin = new KeyStoreAdmin(IdentityTenantUtil.getRegistry(null, null));
      KeyStoreData[] keystores = keyAdmin.getKeyStores();
      if (keystores.length == 0 || keystores.length > 1) {
        throw new IdentityException("There should be only one keystore");
      }
      KeyStoreManager keyMan = KeyStoreManager.getInstance(null);
      KeyStore store = keyMan.getKeyStore(keystores[0].getKeyStoreName());
      Certificate[] certChain = store.getCertificateChain(alias);
      X509Certificate[] certs = new X509Certificate[certChain.length];
      for (int i = 0; i < certs.length; i++) {
        certs[i] = (X509Certificate) certChain[i];
      }
View Full Code Here

      log.debug("Retreiving certificate to include in Mex for service " + serviceName);
    }

    try {
      KeyStoreData[] keystores = getServiceKeyStores(serviceName);
      KeyStoreManager keyMan = KeyStoreManager.getInstance(null);
      KeyStoreAdmin keyAdmin = new KeyStoreAdmin(IdentityTenantUtil.getRegistry(null, null));
      KeyStoreData privateStore = null;
      KeyStoreData keyStoreData = null;

      if (keystores != null && keystores.length > 0) {
        for (int i = 0; i < keystores.length; i++) {
          if (KeyStoreUtil.isPrimaryStore(keystores[i].getKeyStoreName())) {
            privateStore = keystores[i];
            break;
          }
        }
      }

      if (privateStore != null) {
        // policy has a private key store
        keyStoreData = keyAdmin.getKeystoreInfo(privateStore.getKeyStoreName());
        cert = getCertificate(privateStore.getKeyStoreName(), keyStoreData.getKey()
            .getAlias());
      } else {
        // this is for UT token policy
        ServerConfiguration config = ServerConfiguration.getInstance();
        String keyalias = config.getFirstProperty("Security.KeyStore.KeyAlias");
        KeyStore store = keyMan.getPrimaryKeyStore();
        cert = (X509Certificate) store.getCertificate(keyalias);
      }

    } catch (Exception e) {
      log.error("Error while retreiving certificate to include in Mex for service ", e);
View Full Code Here

    if (log.isDebugEnabled()) {
      log.debug("Retreiving certificate for alias " + alias);
    }

    try {
      KeyStoreManager keyMan = KeyStoreManager.getInstance(null);
      KeyStore store = keyMan.getKeyStore(keyStoreName);
      return (X509Certificate) store.getCertificate(alias);
    } catch (Exception e) {
      log.error("Error while retreiving certificate for alias ", e);
      throw new IdentityException("Error while retreiving certificate for alias ", e);
    }
View Full Code Here


    public SignKeyDataHolder(String username) throws IdentityException {
        String keyAlias = null;
        KeyStoreAdmin keyAdmin ;
        KeyStoreManager keyMan ;
        Certificate[] certificates ;

        try {
            String tenantDomain = TenantUtils.getTenantDomain(username);
            int tenantID = SAMLSSOUtil.getRealmService().getTenantManager().
                    getTenantId(tenantDomain);
            initializeRegistry(tenantID);
            if (tenantID != 0) {
                String keyStoreName = SAMLSSOUtil.generateKSNameFromDomainName(tenantDomain);
                keyAlias = tenantDomain;
                keyMan = KeyStoreManager.getInstance(SAMLSSOUtil.getRegistryService().
                        getGovernanceSystemRegistry(tenantID));
                KeyStore keyStore = keyMan.getKeyStore(keyStoreName);
                issuerPK = (PrivateKey) keyMan.getPrivateKey(keyStoreName, tenantDomain);
                certificates = keyStore.getCertificateChain(keyAlias);
                issuerCerts = new X509Certificate[certificates.length];

                int i = 0;
                for (Certificate certificate : certificates) {
                    issuerCerts[i++] = (X509Certificate) certificate;
                }

                signatureAlgorithm = XMLSignature.ALGO_ID_SIGNATURE_RSA;

                String pubKeyAlgo = issuerCerts[0].getPublicKey().getAlgorithm();
                if (pubKeyAlgo.equalsIgnoreCase("DSA")) {
                    signatureAlgorithm = XMLSignature.ALGO_ID_SIGNATURE_DSA;
                }

            } else {
                keyAlias = ServerConfiguration.getInstance().getFirstProperty(
                        "Security.KeyStore.KeyAlias");

                keyAdmin = new KeyStoreAdmin(SAMLSSOUtil.getRegistryService().getGovernanceSystemRegistry());
                keyMan = KeyStoreManager.getInstance(null);

                issuerPK = (PrivateKey) keyAdmin.getPrivateKey(keyAlias);

                certificates = keyMan.getPrimaryKeyStore().getCertificateChain(keyAlias);

                issuerCerts = new X509Certificate[certificates.length];

                int i = 0;
                for (Certificate certificate : certificates) {
View Full Code Here

                log.error(errorMsg, e);
                throw new IdentitySAML2SSOException(errorMsg, e);
            }
        }

        KeyStoreManager keyStoreManager;
        try {
            // get an instance of the corresponding Key Store Manager instance
            keyStoreManager = KeyStoreManager.getInstance(registryService.getGovernanceSystemRegistry(tenantID));
        } catch (RegistryException e) {
            String errorMsg = "Error getting a KeyStore Manager instance.";
            log.error(errorMsg, e);
            throw new IdentitySAML2SSOException(errorMsg, e);
        }

        X509CredentialImpl credentialImpl = null;
        KeyStore keyStore;

        try {
            if (tenantID != 0) {    // for non zero tenants, load private key from their generated key store
                keyStore = keyStoreManager.getKeyStore(generateKSNameFromDomainName(domainName));
            } else {    // for tenant zero, load the default pub. cert using the config. in carbon.xml
                keyStore = keyStoreManager.getPrimaryKeyStore();
            }
            java.security.cert.X509Certificate cert =  (java.security.cert.X509Certificate) keyStore.getCertificate(alias);
            credentialImpl = new X509CredentialImpl(cert);

        } catch (Exception e) {
View Full Code Here

                log.error(errorMsg, e);
                throw new SAML2SSOAuthenticatorException(errorMsg, e);
            }
        }

        KeyStoreManager keyStoreManager = null;
        try {
            // get an instance of the corresponding Key Store Manager instance
            keyStoreManager = KeyStoreManager.getInstance(registryService.getGovernanceSystemRegistry(tenantID));
        } catch (RegistryException e) {
            String errorMsg = "Error getting a KeyStore Manager instance.";
            log.error(errorMsg, e);
            throw new SAML2SSOAuthenticatorException(errorMsg, e);
        }

        X509CredentialImpl credentialImpl = null;
        try {
            if (tenantID != 0) {    // for non zero tenants, load private key from their generated key store
                KeyStore keystore = keyStoreManager.getKeyStore(generateKSNameFromDomainName(domainName));
                java.security.cert.X509Certificate cert = (java.security.cert.X509Certificate) keystore.getCertificate(domainName);
                credentialImpl = new X509CredentialImpl(cert);
            } else {    // for tenant zero, load the default pub. cert using the config. in carbon.xml
                java.security.cert.X509Certificate cert = keyStoreManager.getDefaultPrimaryCertificate();
                credentialImpl = new X509CredentialImpl(cert);
            }
        } catch (Exception e) {
            String errorMsg = "Error instantiating an X509CredentialImpl object for the public cert.";
            log.error(errorMsg, e);
View Full Code Here

        }

        public void run() {
            try {
                MessageContext msgCtx = ((Axis2MessageContext) synCtx).getAxis2MessageContext();
                Event<MessageContext> event = new Event(msgCtx);
                subscriptions = subscriptionManager.getMatchingSubscriptions(event);
            } catch (EventException e) {
                handleException("Matching subscriptions fetching error", e);
            }
View Full Code Here

     * @throws EventException event
     */
    private void processGetStatusRequest(MessageContext mc,
                                         ResponseMessageBuilder messageBuilder)
            throws AxisFault, EventException {
        Subscription subscription =
                SubscriptionMessageBuilder.createGetStatusMessage(mc);
        if (log.isDebugEnabled()) {
            log.debug("GetStatus request recived for SynapseSubscription ID : " +
                    subscription.getId());
        }
        subscription = subscriptionManager.getSubscription(subscription.getId());
        if (subscription != null) {
            if (log.isDebugEnabled()) {
                log.debug("Sending GetStatus responce for SynapseSubscription ID : " +
                        subscription.getId());
            }
            //send the responce
            SOAPEnvelope soapEnvelope = messageBuilder.genGetStatusResponse(subscription);
            dispatchResponse(soapEnvelope, EventingConstants.WSE_GET_STATUS_RESPONSE,
                    mc, false);
View Full Code Here

TOP

Related Classes of org.wso2.carbon.core.util.KeyStoreManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.