I have DPM 2012 SP1 running nicely.
I want to encrypt my tapes. I have a CA so I followed this procedure to create a new template and issue a certificate with key to the DPM server.
I don't have IIS on my DPM server, and don't really want to install it so I want to get a certificate from my Windows 2008 R2 CA.
I have reproduced on two servers with two different tape drives, so I don't think it is hardware related.
http://www.archivum.info/microsoft.public.dataprotectionmanager/2009-06/00471/Re-Tape-Encryption-CA-Certificates.html
When I add encryption to a protection group, about 1 minute after the tape backup starts DPM crashes:
![]()
There is an event 999
The description for Event ID 999 from source MSDPM cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
An unexpected error caused a failure for process 'msdpm'. Restart the DPM process 'msdpm'.
Problem Details:
<FatalServiceError><__System><ID>19</ID><Seq>768</Seq><TimeCreated>01/05/2013 11:14:53</TimeCreated><Source>DpmThreadPool.cs</Source><Line>163</Line><HasError>True</HasError></__System><ExceptionType>CryptographicException</ExceptionType><ExceptionMessage>Invalid
provider type specified.
</ExceptionMessage><ExceptionDetails>System.Security.Cryptography.CryptographicException: Invalid provider type specified.
at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair()
at System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()
at Microsoft.Internal.EnterpriseStorage.Dls.EngineUICommon.EncryptionHelper.DecryptSessionKey(X509Certificate2 x509Cert, Byte[] encryptedSessionKey)
at Microsoft.Internal.EnterpriseStorage.Dls.EngineUICommon.EncryptionHelper.RetriveSessionKey(EnvelopeType mtaEnvelope, String storeName)
at Microsoft.Internal.EnterpriseStorage.Dls.EngineUICommon.EncryptionHelper.GetSessionKey(EnvelopeType mtaEnvelope, Boolean recovery)
at Microsoft.Internal.EnterpriseStorage.Dls.MMUtils.TaskHelper.GetSessionKey(String omid, Boolean isForRead)
at Microsoft.Internal.EnterpriseStorage.Dls.MMInterface.MMBackupLoop.SendMTAPerformIO(Message msg)
at Microsoft.Internal.EnterpriseStorage.Dls.MMInterface.MMBackupLoop.CheckIsWriteOMIDNeeded(Message msg)
at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.Fsm.ConnectionPoint.Execute(Message msg)
at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.Fsm.Engine.ChangeState(Message msg)
at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.TaskInstance.Process(Object dummy)
at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.FsmThreadFunction.Function(Object taskThreadContextObj)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)</ExceptionDetails></FatalServiceError>
the message resource is present but the message is not found in the string/message table
and :
The DPM service terminated unexpectedly. It has done this 1 time(s). The following corrective action will be taken in 100 milliseconds: Restart the service.
If I remove the encryption it works again.
CarolChi