summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId/Configuration/RelyingPartySecuritySettingsElement.cs
blob: a76d9932391b79830746e1da5ca246d9ac50a953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System.Configuration;
using DotNetOpenId.RelyingParty;

namespace DotNetOpenId.Configuration {
	internal class RelyingPartySecuritySettingsElement : ConfigurationElement {
		public RelyingPartySecuritySettingsElement() { }

		public RelyingPartySecuritySettings CreateSecuritySettings() {
			RelyingPartySecuritySettings settings = new RelyingPartySecuritySettings();
			settings.RequireSsl = RequireSsl;
			settings.MinimumRequiredOpenIdVersion = MinimumRequiredOpenIdVersion;
			settings.MinimumHashBitLength = MinimumHashBitLength;
			settings.MaximumHashBitLength = MaximumHashBitLength;
			return settings;
		}

		const string requireSslConfigName = "requireSsl";
		[ConfigurationProperty(requireSslConfigName, DefaultValue = false)]
		public bool RequireSsl {
			get { return (bool)this[requireSslConfigName]; }
			set { this[requireSslConfigName] = value; }
		}

		const string minimumRequiredOpenIdVersionConfigName = "minimumRequiredOpenIdVersion";
		[ConfigurationProperty(minimumRequiredOpenIdVersionConfigName, DefaultValue = "V10")]
		public ProtocolVersion MinimumRequiredOpenIdVersion {
			get { return (ProtocolVersion)this[minimumRequiredOpenIdVersionConfigName]; }
			set { this[minimumRequiredOpenIdVersionConfigName] = value; }
		}

		const string minimumHashBitLengthConfigName = "minimumHashBitLength";
		[ConfigurationProperty(minimumHashBitLengthConfigName, DefaultValue = DotNetOpenId.SecuritySettings.minimumHashBitLengthDefault)]
		public int MinimumHashBitLength {
			get { return (int)this[minimumHashBitLengthConfigName]; }
			set { this[minimumHashBitLengthConfigName] = value; }
		}

		const string maximumHashBitLengthConfigName = "maximumHashBitLength";
		[ConfigurationProperty(maximumHashBitLengthConfigName, DefaultValue = DotNetOpenId.SecuritySettings.maximumHashBitLengthRPDefault)]
		public int MaximumHashBitLength {
			get { return (int)this[maximumHashBitLengthConfigName]; }
			set { this[maximumHashBitLengthConfigName] = value; }
		}
	}
}