74 /** The length of KeyMaterial in bytes. Range: 0-29 */ |
71 /** The length of KeyMaterial in bytes. Range: 0-29 */ |
75 TUint32 KeyLength; |
72 TUint32 KeyLength; |
76 /** Array that stores the WEP key. */ |
73 /** Array that stores the WEP key. */ |
77 TUint8 KeyMaterial[KHssMaxWEPKeyLength]; |
74 TUint8 KeyMaterial[KHssMaxWEPKeyLength]; |
78 }; |
75 }; |
79 |
|
80 |
|
81 |
|
82 |
|
83 /** |
|
84 * class containing Certificate info for EAP settings |
|
85 */ |
|
86 class THssCertificateEntry |
|
87 { |
|
88 public: |
|
89 |
|
90 enum THssCertType |
|
91 { |
|
92 EUser, |
|
93 ECA |
|
94 }; |
|
95 |
|
96 THssCertificateEntry(); |
|
97 |
|
98 // Specifies whether this entry describes user or CA certificate (mandatory) |
|
99 THssCertType iCertType; |
|
100 |
|
101 // Subject name in distinguished name ASCII form. |
|
102 // For example "/C=US/O=Some organization/CN=Some common name". |
|
103 TBool iSubjectNamePresent; |
|
104 TBuf<KHssGeneralStringMaxLength> iSubjectName; |
|
105 |
|
106 // Issuer name in distinguished name ASCII form. |
|
107 // For example "/C=US/O=Some organization/CN=Some common name". |
|
108 TBool iIssuerNamePresent; |
|
109 TBuf<KHssGeneralStringMaxLength> iIssuerName; |
|
110 |
|
111 // Serial number in ASCII form. |
|
112 TBool iSerialNumberPresent; |
|
113 TBuf<KHssGeneralStringMaxLength> iSerialNumber; |
|
114 |
|
115 // Subject key in binary form |
|
116 TBool iSubjectKeyIDPresent; |
|
117 TBuf8<KHssKeyIdentifierLength> iSubjectKeyID; |
|
118 |
|
119 // Thumbprint in binary form |
|
120 TBool iThumbprintPresent; |
|
121 TBuf<KHssThumbprintMaxLength> iThumbprint; |
|
122 }; |
|
123 |
|
124 |
|
125 /** |
|
126 * class containing EAP settings |
|
127 */ |
|
128 class THssEapSettings |
|
129 { |
|
130 public: |
|
131 |
|
132 enum THssEapType |
|
133 { |
|
134 EEapNone = 0, |
|
135 EEapGtc = 6, |
|
136 EEapTls = 13, |
|
137 EEapLeap = 17, |
|
138 EEapSim = 18, |
|
139 EEapTtls = 21, |
|
140 EEapAka = 23, |
|
141 EEapPeap = 25, |
|
142 EEapMschapv2 = 26, |
|
143 EEapSecurid = 32, |
|
144 EEapPlainMschapv2 = 99 |
|
145 }; |
|
146 |
|
147 THssEapSettings(); |
|
148 |
|
149 void ExternalizeL( RWriteStream& aStream ) const; |
|
150 |
|
151 void InternalizeL( RReadStream& aStream ); |
|
152 |
|
153 // Specifies the EAP type these settings are for. |
|
154 // Is not really needed but is here so just some sanity checks can be made |
|
155 THssEapType iEAPType; |
|
156 |
|
157 // Username in ASCII format |
|
158 TBool iUsernamePresent; |
|
159 TBuf<KHssGeneralStringMaxLength> iUsername; |
|
160 |
|
161 // Password in ASCII format |
|
162 TBool iPasswordPresent; |
|
163 TBuf<KHssGeneralStringMaxLength> iPassword; |
|
164 |
|
165 // Realm in ASCII format |
|
166 TBool iRealmPresent; |
|
167 TBuf<KHssGeneralStringMaxLength> iRealm; |
|
168 |
|
169 // Use pseudonym identities in EAP-SIM/AKA |
|
170 TBool iUsePseudonymsPresent; |
|
171 TBool iUsePseudonyms; |
|
172 |
|
173 // Whether EAP-TLS/TTLS/PEAP should verify server realm |
|
174 TBool iVerifyServerRealmPresent; |
|
175 TBool iVerifyServerRealm; |
|
176 |
|
177 // Whether EAP-TLS/TTLS/PEAP should require client authentication |
|
178 TBool iRequireClientAuthenticationPresent; |
|
179 TBool iRequireClientAuthentication; |
|
180 |
|
181 // General session validity time (in minutes) |
|
182 TBool iSessionValidityTimePresent; |
|
183 TUint iSessionValidityTime; |
|
184 |
|
185 // An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. |
|
186 // Refer to RFC2246 chapter A.5 for the values. |
|
187 TBool iCipherSuitesPresent; |
|
188 TUint iCipherSuitesCount; |
|
189 RArray<TUint> iCipherSuites; |
|
190 |
|
191 // In EAP-PEAP is version 0 allowed |
|
192 TBool iPEAPVersionsPresent; |
|
193 TBool iPEAPv0Allowed; |
|
194 TBool iPEAPv1Allowed; |
|
195 TBool iPEAPv2Allowed; |
|
196 |
|
197 // Array listing the allowed certificates for EAP-TLS/TTLS/PEAP |
|
198 TBool iCertificatesPresent; |
|
199 TUint iCertificatesCount; |
|
200 RPointerArray<THssCertificateEntry> iCertificates; |
|
201 |
|
202 // Array listing the encapsulated EAP types (in priority order) |
|
203 TBool iEncapsulatedEAPTypesPresent; |
|
204 TUint iEncapsulatedEAPTypesCount; |
|
205 RArray<TUint> iEncapsulatedEAPTypes; |
|
206 |
|
207 // EAP type that this THssEapSettings type is encapsulated to |
|
208 // Example: For EEapMschapv2 type this value could be EEapPeap |
|
209 THssEapType iEncapsulatedInside; |
|
210 }; |
|
211 |
76 |
212 /** |
77 /** |
213 * struct containing all wlan settings data |
78 * struct containing all wlan settings data |
214 */ |
79 */ |
215 class THssIapSettings |
80 class THssIapSettings |
216 |
81 |
217 { |
82 { |
218 public: |
83 public: |
219 THssIapSettings(); |
84 |
220 TBuf<KHssMaxMedTextLength> Name; |
85 TBuf<KHssMaxMedTextLength> Name; |
221 |
86 |
222 EHssConnectionMode iConnectionMode; |
87 EHssConnectionMode iConnectionMode; |
223 TBuf<KHssMaxSSIDLength> iSSID; |
88 TBuf<KHssMaxSSIDLength> iSSID; |
224 |
89 |