Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
One of our customer reported below error :-
Issue:- While adding a TFS connection, user were getting CryptographicException
Message: Bad Data.
: \r\n\r\n at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.RSACryptoServiceProvider.DecryptKey(SafeKeyHandle pKeyContext, Byte[] pbEncryptedKey, Int32 cbEncryptedKey, Boolean fOAEP, ObjectHandleOnStack ohRetDecryptedKey)
at System.Security.Cryptography.RSACryptoServiceProvider.Decrypt(Byte[] rgb, Boolean fOAEP)
at Microsoft.TeamFoundation.Release.Data.Helpers.CryptoHelper.GetDecryptedValue(String str, String containerName)
at Microsoft.TeamFoundation.Release.Data.Helpers.CryptoHelper.DecryptString(String str, String cryptoContainerName, String key, Encryption encryption)
at Microsoft.TeamFoundation.Release.Data.Proxy.LocalProxy.EncryptionServiceLocalProxy.<.ctor>b__1(String x)
at Microsoft.TeamFoundation.Release.Data.Proxy.LocalProxy.EncryptionServiceLocalProxy.Decrypt(String encryptionLocation)
at Microsoft.TeamFoundation.Release.Tfs.TfsHelperBase.SecureCredential.ToNetworkCredential()
at Microsoft.TeamFoundation.Release.Tfs.TfsHelperBase.GetCacheCredentialOfTFSServiceAccount(String tfsUrl)
at Microsoft.TeamFoundation.Release.Tfs.TfsHelperBase.GetTeamProjectCollectionForServiceUser(String tfsUrl)
at Microsoft.TeamFoundation.Release.Tfs.TfsHelperBase.GetTfsDetails(String tfsUrl, String userName, String encryptedPassword)
at Microsoft.TeamFoundation.Release.ServiceProcessor.Processor.TfsServiceProcessor.GetTfsDetails(String tfsUrl, String userName, String encryptedPassword, Int32 tfsVersionId)
How it got fixed :-
From above call stack, It seems like the crypto key present on the customer machine were corrupt and hence Decrypt() were failing. Perform following steps to fix it (Note: You might have to re-enter password again at all places in your ReleaseTemplate and all other place) :-
1. Navigate to %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys on the RM server machine and look for the key that looks like this - 918fda7df45a07822a6a453544ec6f66_<SomeGuid>. Take a back-up of the key and delete it.
2. Close ReleaseManagement Client and Server window
3. Re-configure ReleaseManagement server (this will create the give with 918fda7df45a07822a6a453544ec6f66_<SomeGuid> again.
4. Try configuring your TFS again. it should work
5. Done!!!!