internal OcspResponderMemberInfo(String serverName) { ComputerName = serverName; var ocspAdmin = new OCSPAdminClass(); try { ocspAdmin.Ping(serverName); IsRunning = true; } catch { } }
/// <summary> /// Writes this object to a securable object's Access Control List. /// </summary> /// <exception cref="ServerUnavailableException"> /// The target Online Responder server could not be contacted via remote registry and RPC protocol. /// </exception> public void SetObjectSecurity() { var ocspAdmin = new OCSPAdminClass(); try { ocspAdmin.SetSecurity(ComputerName, GetSecurityDescriptorSddlForm(AccessControlSections.All)); } catch (COMException cex) { if (cex.ErrorCode == Error.RpcUnavailableException) { var e = new ServerUnavailableException(ComputerName); e.Data.Add(nameof(e.Source), OfflineSource.DCOM); throw e; } } finally { CryptographyUtils.ReleaseCom(ocspAdmin); } }