internal SigningCertificateSettings(SigningCertificateSettings signingStoreSettings) { Utility.IfNullThrowNullArgumentException(signingStoreSettings, "signingStoreSettings"); this.StoreLocation = signingStoreSettings.StoreLocation; this.StoreFindType = signingStoreSettings.StoreFindType; this.StoreName = signingStoreSettings.StoreName; this.StoreIdentifyingValue = signingStoreSettings.StoreIdentifyingValue; }
public static void Main(string[] args) { Console.WriteLine(" **** Announcement service ****"); AnnouncementService announcementService = new AnnouncementService(); announcementService.OnlineAnnouncementReceived += new EventHandler<AnnouncementEventArgs>(announcementService_OnlineAnnouncementReceived); announcementService.OfflineAnnouncementReceived += new EventHandler<AnnouncementEventArgs>(announcementService_OfflineAnnouncementReceived); // Search for the signing certificate in StoreLocation.LocalMachine, StoreName.My, using FindBySubjectDistinguishedName // Keep the default settings for client certificates (used to validate incoming messages): StoreLocation.LocalMachine, StoreName.My SigningCertificateSettings signingStoreSettings = new SigningCertificateSettings("CN=DiscoverySecureServiceCertificate"); ServiceHost host = new ServiceHost(announcementService); UdpAnnouncementEndpoint announcementEndpoint = new UdpSecureAnnouncementEndpoint( DiscoveryVersion.WSDiscovery11, signingStoreSettings); try { host.AddServiceEndpoint(announcementEndpoint); host.Open(); Console.WriteLine("\nPress enter to exit .."); Console.ReadLine(); host.Close(); } catch (CommunicationException e) { Console.WriteLine(e.Message); } catch (TimeoutException e) { Console.WriteLine(e.Message); } if (host.State != CommunicationState.Closed) { Console.WriteLine("Aborting the service..."); host.Abort(); } }
void Intitialize(DiscoveryVersion discoveryVersion, SigningCertificateSettings signingStoreSettings) { Utility.IfNullThrowNullArgumentException(signingStoreSettings, "signingStoreSettings"); this.secureBindingElement = new CompactSignatureSecurityBindingElement( discoveryVersion, signingStoreSettings); Binding binding = base.Binding; CustomBinding customBinding = binding as CustomBinding; if (customBinding == null) { customBinding = new CustomBinding(binding); customBinding.Elements.Insert(0, secureBindingElement); base.Binding = customBinding; } else { customBinding.Elements.Insert(0, secureBindingElement); } }
public UdpSecureDiscoveryEndpoint(DiscoveryVersion discoveryVersion, SigningCertificateSettings signingStoreSettings) : base(discoveryVersion) { this.Intitialize(discoveryVersion, signingStoreSettings); }
public UdpSecureAnnouncementEndpoint(SigningCertificateSettings signingStoreSettings) : base() { this.Intialize(signingStoreSettings); }