Пример #1
0
    def uploadProxy(self):
        """Upload the proxy to the proxyManager service"""
        issuerCert = self.getIssuerCert()
        resultUserDN = issuerCert.getSubjectDN()  # pylint: disable=no-member
        if not resultUserDN["OK"]:
            return resultUserDN
        userDN = resultUserDN["Value"]

        gLogger.notice("Uploading proxy..")
        if userDN in self.__uploadedInfo:
            expiry = self.__uploadedInfo[userDN].get("")
            if expiry:
                if (
                    issuerCert.getNotAfterDate()["Value"] - datetime.timedelta(minutes=10) < expiry
                ):  # pylint: disable=no-member
                    gLogger.info('Proxy with DN "%s" already uploaded' % userDN)
                    return S_OK()
        gLogger.info("Uploading %s proxy to ProxyManager..." % userDN)
        upParams = ProxyUpload.CLIParams()
        upParams.onTheFly = True
        upParams.proxyLifeTime = issuerCert.getRemainingSecs()["Value"] - 300  # pylint: disable=no-member
        for k in ("certLoc", "keyLoc", "userPasswd"):
            setattr(upParams, k, getattr(self.__piParams, k))
        resultProxyUpload = ProxyUpload.uploadProxy(upParams)
        if not resultProxyUpload["OK"]:
            gLogger.error(resultProxyUpload["Message"])
            return resultProxyUpload
        self.__uploadedInfo = resultProxyUpload["Value"]
        gLogger.info("Proxy uploaded")
        return S_OK()
Пример #2
0
 def uploadProxy(self, userGroup=False):
     issuerCert = self.getIssuerCert()
     userDN = issuerCert.getSubjectDN()['Value']
     if not userGroup:
         userGroup = self.__piParams.diracGroup
     gLogger.notice("Uploading proxy for %s..." % userGroup)
     if userGroup in self.__proxiesUploaded:
         gLogger.info("Proxy already uploaded")
         return S_OK()
     if userDN in self.__uploadedInfo:
         expiry = self.__uploadedInfo[userDN].get(userGroup)
         if expiry:
             if issuerCert.getNotAfterDate()['Value'] - datetime.timedelta(
                     minutes=10) < expiry:
                 gLogger.info(
                     "SKipping upload for group %s. Already uploaded" %
                     userGroup)
                 return S_OK()
     gLogger.info("Uploading %s proxy to ProxyManager..." %
                  self.__piParams.diracGroup)
     upParams = ProxyUpload.CLIParams()
     upParams.onTheFly = True
     upParams.proxyLifeTime = issuerCert.getRemainingSecs()['Value'] - 300
     upParams.rfcIfPossible = self.__piParams.rfc
     upParams.diracGroup = userGroup
     for k in ('certLoc', 'keyLoc', 'userPasswd'):
         setattr(upParams, k, getattr(self.__piParams, k))
     result = ProxyUpload.uploadProxy(upParams)
     if not result['OK']:
         gLogger.error(result['Message'])
         sys.exit(1)
     self.__uploadedInfo = result['Value']
     self.__proxiesUploaded.append(userGroup)
     gLogger.info("Proxy uploaded")
     return S_OK()
Пример #3
0
    def uploadProxy(self):
        """ Upload the proxy to the proxyManager service
    """
        issuerCert = self.getIssuerCert()
        resultUserDN = issuerCert.getSubjectDN()  # pylint: disable=no-member
        if not resultUserDN['OK']:
            return resultUserDN
        userDN = resultUserDN['Value']

        gLogger.notice("Uploading proxy..")
        if userDN in self.__uploadedInfo:
            expiry = self.__uploadedInfo[userDN].get('')
            if expiry:
                if issuerCert.getNotAfterDate()['Value'] - datetime.timedelta(
                        minutes=10) < expiry:  # pylint: disable=no-member
                    gLogger.info('Proxy with DN "%s" already uploaded' %
                                 userDN)
                    return S_OK()
        gLogger.info("Uploading %s proxy to ProxyManager..." % userDN)
        upParams = ProxyUpload.CLIParams()
        upParams.onTheFly = True
        upParams.proxyLifeTime = issuerCert.getRemainingSecs()['Value'] - 300  # pylint: disable=no-member
        upParams.rfcIfPossible = self.__piParams.rfc
        for k in ('certLoc', 'keyLoc', 'userPasswd'):
            setattr(upParams, k, getattr(self.__piParams, k))
        resultProxyUpload = ProxyUpload.uploadProxy(upParams)
        if not resultProxyUpload['OK']:
            gLogger.error(resultProxyUpload['Message'])
            sys.exit(1)
        self.__uploadedInfo = resultProxyUpload['Value']
        gLogger.info("Proxy uploaded")
        return S_OK()
Пример #4
0
 def uploadProxy( self, userGroup = False ):
   issuerCert = self.getIssuerCert()
   userDN = issuerCert.getSubjectDN()[ 'Value' ]
   if not userGroup:
     userGroup = self.__piParams.diracGroup
   gLogger.notice( "Uploading proxy for %s..." % userGroup )
   if userGroup in self.__proxiesUploaded:
     gLogger.info( "Proxy already uploaded" )
     return S_OK()
   if userDN in self.__uploadedInfo:
     expiry = self.__uploadedInfo[ userDN ].get( userGroup )
     if expiry:
       if issuerCert.getNotAfterDate()[ 'Value' ] - datetime.timedelta( minutes = 10 ) < expiry:
         gLogger.info( "SKipping upload for group %s. Already uploaded" % userGroup )
         return S_OK()
   gLogger.info( "Uploading %s proxy to ProxyManager..." % self.__piParams.diracGroup )
   upParams = ProxyUpload.CLIParams()
   upParams.onTheFly = True
   upParams.proxyLifeTime = issuerCert.getRemainingSecs()[ 'Value' ] - 300
   upParams.diracGroup = userGroup
   for k in ( 'certLoc', 'keyLoc', 'userPasswd' ):
     setattr( upParams, k , getattr( self.__piParams, k ) )
   result = ProxyUpload.uploadProxy( upParams )
   if not result[ 'OK' ]:
     gLogger.error( result[ 'Message' ] )
     sys.exit( 1 )
   self.__uploadedInfo = result[ 'Value' ]
   self.__proxiesUploaded.append( userGroup )
   gLogger.info( "Proxy uploaded" )
   return S_OK()
Пример #5
0
 def uploadProxy( self, userGroup = False ):
   """ Upload the proxy to the proxyManager service
   """
   issuerCert = self.getIssuerCert()
   resultUserDN = issuerCert.getSubjectDN() #pylint: disable=no-member
   if not resultUserDN['OK']:
     return resultUserDN
   userDN = resultUserDN['Value']
   if not userGroup:
     userGroup = self.__piParams.diracGroup
   gLogger.notice( "Uploading proxy for %s..." % userGroup )
   if userDN in self.__uploadedInfo:
     expiry = self.__uploadedInfo[ userDN ].get( userGroup )
     if expiry:
       if issuerCert.getNotAfterDate()[ 'Value' ] - datetime.timedelta( minutes = 10 ) < expiry: #pylint: disable=no-member
         gLogger.info( "SKipping upload for group %s. Already uploaded" % userGroup )
         return S_OK()
   gLogger.info( "Uploading %s proxy to ProxyManager..." % self.__piParams.diracGroup )
   upParams = ProxyUpload.CLIParams()
   upParams.onTheFly = True
   upParams.proxyLifeTime = issuerCert.getRemainingSecs()[ 'Value' ] - 300 #pylint: disable=no-member
   upParams.rfcIfPossible = self.__piParams.rfc
   upParams.diracGroup = userGroup
   for k in ( 'certLoc', 'keyLoc', 'userPasswd' ):
     setattr( upParams, k , getattr( self.__piParams, k ) )
   resultProxyUpload = ProxyUpload.uploadProxy( upParams )
   if not resultProxyUpload[ 'OK' ]:
     gLogger.error( resultProxyUpload[ 'Message' ] )
     sys.exit( 1 )
   self.__uploadedInfo = resultProxyUpload[ 'Value' ]
   gLogger.info( "Proxy uploaded" )
   return S_OK()
Пример #6
0
    gLogger.error( result[ 'Message' ] )
    sys.exit( 1 )
  proxyLocation = result[ 'Value' ]
  if pxParams.uploadProxy:
    proxyChain = X509Chain.X509Chain()
    result = proxyChain.loadChainFromFile( proxyLocation )
    if not result[ 'OK' ]:
      gLogger.error( "Could not load the proxy: %s" % result[ 'Message' ] )
      sys.exit( 1 )
    result = proxyChain.getIssuerCert()
    if not result[ 'OK' ]:
      gLogger.error( "Could not load the proxy: %s" % result[ 'Message' ] )
      sys.exit( 1 )
    userCert = result[ 'Value' ]
    secsLeft = userCert.getRemainingSecs()[ 'Value' ] - 300

    gLogger.notice( "Uploading proxy to ProxyManager..." )
    upParams = ProxyUpload.CLIParams()
    upParams.onTheFly = True
    upParams.proxyLifeTime = secsLeft
    for k in ( 'diracGroup', 'certLoc', 'keyLoc', 'userPasswd' ):
      setattr( upParams, k , getattr( pxParams, k ) )

    result = ProxyUpload.uploadProxy( upParams )
    if not result[ 'OK' ]:
      gLogger.error( result[ 'Message' ] )
      sys.exit( 1 )
    gLogger.notice( "Proxy uploaded" )

  sys.exit( 0 )
Пример #7
0
      proxyChain = X509Chain()

      result = proxyChain.loadChainFromFile(keyDict["pub"])

      if not result[ 'OK' ]:
        self.finish({"error":"Could not load the proxy: %s" % result[ 'Message' ], "success": "false"})
        return

      result = proxyChain.getIssuerCert()

      if not result[ 'OK' ]:
        self.finish({"error":"Could not load the proxy: %s" % result[ 'Message' ], "success": "false"})
        return
      issuerCert = result['Value']

      upParams = ProxyUpload.CLIParams()

      upParams.onTheFly = True
      upParams.proxyLifeTime = issuerCert.getRemainingSecs()[ 'Value' ] - 300
      upParams.diracGroup = group
      upParams.certLoc = keyDict["pub"]
      upParams.keyLoc = keyDict["private"]
      upParams.userPasswd = pemPassword
      result = ProxyUpload.uploadProxy(upParams)

      if not result[ 'OK' ]:
        self.finish({"error":result[ 'Message' ], "success": "false"})
        return
    shutil.rmtree(storePath)

    groups = ", ".join(groupList)