Examples of SecureContext


Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

    if(protocol.getPlatformType() == PlatformType.Java && context.getServerType() == ServerType.TCP){//java 客户端支持权限认证
      GaeaResponse response = new GaeaResponse();
      Global global = Global.getSingleton();
      //是否启用权限认证
      if(Global.getSingleton().getGlobalSecureIsRights()){
        SecureContext sc = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
        //判断当前channel是否通过认证
        if(!sc.isRights()){
          //没有通过认证
          if(protocol != null && protocol.getSdpEntity() instanceof HandclaspProtocol){
            SecureKey sk = new SecureKey();
            HandclaspProtocol handclaspProtocol = (HandclaspProtocol)protocol.getSdpEntity();
            /**
             * 接收 客户端公钥
             */
            if("1".equals(handclaspProtocol.getType())){
              sk.initRSAkey();
              //客户端发送公钥数据
              String clientPublicKey = handclaspProtocol.getData();
              if(null == clientPublicKey || "".equals(clientPublicKey)){
                logger.warn("get client publicKey warn!");
              }
              //java 客户端
              if(protocol.getPlatformType() == PlatformType.Java){
                //服务器生成公/私钥,公钥传送给客户端
                sc.setServerPublicKey(sk.getStringPublicKey());
                sc.setServerPrivateKey(sk.getStringPrivateKey());
                sc.setClientPublicKey(clientPublicKey);
                handclaspProtocol.setData(sk.getStringPublicKey());//服务器端公钥
              }
             
              protocol.setSdpEntity(handclaspProtocol);
              response.setResponseBuffer(protocol.toBytes());
              context.setGaeaResponse(response);
              this.setInvokeAndFilter(context);
              logger.info("send server publieKey sucess!");
            }
            /**
             * 接收权限文件
             */
            else if("2".equals(handclaspProtocol.getType())){
              //客户端加密授权文件
              String clientSecureInfo = handclaspProtocol.getData();
              if(null == clientSecureInfo || "".equals(clientSecureInfo)){
                logger.warn("get client secureKey warn!");
              }
              //授权文件客户端原文(服务器私钥解密)
              String sourceInfo = sk.decryptByPrivateKey(clientSecureInfo, sc.getServerPrivateKey());
              //校验授权文件是否相同
              //判断是否合法,如果合法服务器端生成DES密钥,通过客户端提供的公钥进行加密传送给客户端
              if(global.containsSecureMap(sourceInfo)){
                logger.info("secureKey is ok!");
                String desKey = StringUtils.getRandomNumAndStr(8);
                //设置当前channel属性
                sc.setDesKey(desKey);
                sc.setRights(true);
                handclaspProtocol.setData(sk.encryptByPublicKey(desKey, sc.getClientPublicKey()));
                protocol.setSdpEntity(handclaspProtocol);
                response.setResponseBuffer(protocol.toBytes());
                context.setGaeaResponse(response);
              }else{
                logger.error("It's bad secureKey!");
View Full Code Here

Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

       
        Global global = Global.getSingleton();
        if(global != null){
          //判断当前服务启用权限认证
          if(global.getGlobalSecureIsRights()){
            SecureContext securecontext = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
            bool = securecontext.isRights();
            if(bool){
              desKeyStr = securecontext.getDesKey();
            }
          }
        }
       
        if(desKeyStr != null){
View Full Code Here

Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

         
          Global global = Global.getSingleton();
          if(global != null){
            //判断当前服务启用权限认证
            if(global.getGlobalSecureIsRights()){
              SecureContext securecontext = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
              bool = securecontext.isRights();
              if(bool){
                desKeyStr = securecontext.getDesKey();
              }
            }
          }
         
          if(desKeyStr != null){
View Full Code Here

Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

    Protocol p = context.getGaeaRequest().getProtocol();
    GaeaResponse response = new GaeaResponse();
   
    if(p.getPlatformType() == PlatformType.Java && context.getServerType() == ServerType.TCP){
      //当前服务启动权限认证,并且当前channel通过校验,则进行方法校验
      SecureContext securecontext = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
      if(global.getGlobalSecureIsRights()){
        //当前服务启用权限认证,判断当前channel是否通过授权
        if(securecontext.isRights()){
          RequestProtocol request = (RequestProtocol)p.getSdpEntity();
          if(request != null){
            StringBuffer buff = new StringBuffer(request.getLookup() + "." +request.getMethodName());//接口实现类.方法名(参数序列)
            buff.append("(");
            List<KeyValuePair> list = request.getParaKVList();
            if(list != null){
              int i=0;
              for(KeyValuePair k : list){
                if(k != null){
                  if(i > 0){
                    buff.append(",");
                  }
                  buff.append(k.getKey());
                  ++i;
                }
              }
            }
            buff.append(")");
           
            boolean bool = true;
            Map map = global.getSecureMap();
            if(map != null){
              Iterator<Map.Entry<String, List<String>>> iter = map.entrySet().iterator();
              while(iter.hasNext()){
                Map.Entry<String, List<String>> enty = (Map.Entry<String, List<String>>)iter.next();
                for(String str:enty.getValue()){
                  if(str.equalsIgnoreCase(buff.toString())){
                    bool = false;
                    break;
                  }
                }
              }
            }
           
            if(bool){
              logger.error("当前调用方法没有授权!");
              this.ContextException(context, p, response, "当前调用方法没有授权!",global.getGlobalSecureIsRights(),securecontext.getDesKey().getBytes("utf-8"));
            }
          }
        }else{
          logger.error("当前连接没有通过权限认证!");
          this.ContextException(context, p, response, "当前连接没有通过权限认证!");
View Full Code Here

Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

     
      Global global = Global.getSingleton();
      if(global != null){
        //判断当前服务启用权限认证
        if(global.getGlobalSecureIsRights()){
          SecureContext securecontext = global.getGlobalSecureContext(context.getChannel().getNettyChannel());
          bool = securecontext.isRights();
          if(bool){
            desKeyStr = securecontext.getDesKey();
          }
        }
      }
     
      if(desKeyStr != null){
View Full Code Here

Examples of com.bj58.spat.gaea.server.contract.context.SecureContext

    /**
     * 如果当前服务启动权限认证,则增加当前连接对应的SecureContext
     * @author HaoXB
     */
    if(Global.getSingleton().getGlobalSecureIsRights()){// Channel
      Global.getSingleton().addChannelMap(e.getChannel(), new SecureContext());
    }
   
  }
View Full Code Here

Examples of deploy.SecureContext

    String hostPath = doc.getElementsByTagName("host-path").item(0).getTextContent();
    String pathProg = ParsConf.getPathProject();
    String privateKey = ParsConf.getConfig()+File.separatorChar+"pyscript"+File.separatorChar+"id_raspberry_rsa";
    File filename = new File(pathProg);
    String path = filename.getAbsolutePath();
    SecureContext context = new SecureContext(user,host);

    // set optional security configurations.
    context.setTrustAllHosts(true);

    context.setPrivateKeyFile(new File(privateKey));

    try {
      Jscp.exec(context,path, hostPath, Arrays.asList("logs/log[0-9]*.txt","backups")  );
    } catch (IOException e) {
      // TODO Auto-generated catch block
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.