/// <summary> /// Generate an X509 cert that works with the HealthVault SDK /// </summary> /// <param name="applicationID"></param> /// <param name="alwaysCreate"></param> /// <param name="storeLocation"></param> public ApplicationCertificate(Guid applicationID, bool alwaysCreate, StoreLocation storeLocation) { using (CertificateStore store = new CertificateStore(storeLocation)) { if (!alwaysCreate) { // // Use an existing cert, if any // _certificate = store[applicationID]; } if (_certificate == null) { CreateCert(applicationID, NumberOfYears); AddNativeCertToStore(); } } }
/// <summary> /// Deletes the certificate created as part of application creation /// </summary> /// /// <exception cref="InvalidConfigurationException"> /// The required application-specific certificate is not found, /// </exception> /// public void DeleteCertificate() { if (_childCert == null) { throw Validator.InvalidConfigurationException("InvalidApplicationCertificate"); } using (CertificateStore store = new CertificateStore(StoreLocation.CurrentUser)) { store.RemoveCert(_childCert.Certificate); _childCert.Dispose(); _childCert = null; } ApplicationCertificate.DeleteKeyContainer(_applicationId); }