@@ -535,13 +535,20 @@ def getProxyStrength(self, userDN, userGroup=None, vomsAttr=None):
535
535
:param vomsAttr: VOMS attr we plan to add on the proxy
536
536
"""
537
537
# Look in the cache
538
- retVal = self .__getPemAndTimeLeft (userDN , userGroup , vomsAttr = vomsAttr )
538
+ retVal = Registry .getProxyProvidersForDN (userDN )
539
+
539
540
if retVal ["OK" ]:
540
- pemData = retVal ["Value" ][0 ]
541
- chain = X509Chain ()
542
- retVal = chain .loadProxyFromString (pemData )
543
- if retVal ["OK" ]:
544
- return chain .getStrength ()
541
+ providers = retVal ["Value" ]
542
+ providers .append ("Certificate" )
543
+ for proxyProvider in providers :
544
+
545
+ retVal = self .__getPemAndTimeLeft (userDN , userGroup , vomsAttr = vomsAttr , proxyProvider = proxyProvider )
546
+ if retVal ["OK" ]:
547
+ pemData = retVal ["Value" ][0 ]
548
+ chain = X509Chain ()
549
+ retVal = chain .loadProxyFromString (pemData )
550
+ if retVal ["OK" ]:
551
+ return chain .getStrength ()
545
552
546
553
return retVal
547
554
@@ -589,7 +596,11 @@ def __getPemAndTimeLeft(self, userDN, userGroup=None, vomsAttr=None, proxyProvid
589
596
result = chain .loadProxyFromString (record [0 ])
590
597
if not result ["OK" ]:
591
598
return result
592
- result = chain .generateProxyToString (record [1 ], diracGroup = userGroup , rfc = True )
599
+ result = chain .getStrength ()
600
+ if not result ["OK" ]:
601
+ return result
602
+ strength = result ["Value" ]
603
+ result = chain .generateProxyToString (record [1 ], diracGroup = userGroup , strength = strength , rfc = True )
593
604
if not result ["OK" ]:
594
605
return result
595
606
return S_OK ((result ["Value" ], record [1 ]))
0 commit comments