Encapsulate the "CertHash value update state" in the EFSCertFunctions class - expose it as "UpdateUserEfsConfig"


I think there's too close a dependency between the Main() function and knowledge that the EFS CertHash is what needs to be manipulated to successfully "update the EFS Configuration" when a new EFS cert is discovered.
It would be slightly more behaviour-independent for Main() to call something like "UpdateUserEfsConfiguration()" than to call "UpdateCertificateHashRegistryValue()".  The latter could be the private function called by a public UpdateUserEfsConfiguration()" function, but it would leave us more flexible to change the implementation of UpdateUserEfsConfiguration() if there were different or additional steps necessary to update the user's EFS Config.
This should be accompanied with a similar change to the CertificateHashValueUpdated boolean in the Program class - perhaps call it "UserEfsConfigUpdated" instead.
Closed Nov 30, 2008 at 2:43 AM by MikeSL


wrote Nov 30, 2008 at 1:06 AM

Fixed this, along with renaming a number of related variables (to encapsulate the technical aspects of the EFS configuration behaviour).
Also, I encapsulated the check in the Program class that validates whether the currently-examined certificate is an EFS certificate - added a function IsCertificateAnEfsCertificate() to the EfsCertificateFunctions class, and called that from the Program class rather than calling DoesCertificateHaveSpecifiedEku() directly.

wrote Nov 30, 2008 at 2:43 AM

wrote Feb 12, 2013 at 8:59 PM

wrote May 15, 2013 at 1:32 AM