LiveIdentity 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,221 +1,221 @@
1
- class LiveIdentity
2
- module IDCRL
3
- module HRESULT
4
- # INVALID_STS_REQUEST ? = 0x80045C01
5
- PP_E_CRL_NOT_INITIALIZED = 0x80048008
6
- PPCRL_NO_SESSION_KEY = 0x8004800E
7
- # INVALID_MEMORY_POINTER ? = 0x8004801E
8
- # INVALID_ ??? = 0x8004802C
9
- # INVALID_REQUEST_FLAGS ? = 0x80048031
10
- PPCRL_S_ALREADY_INITIALIZED = 0x00048044
11
- PPCRL_S_STILL_INUSE = 0x00048045
12
- PP_E_CRL_REG_OPEN_FAILED = 0x80048251
13
- PP_E_NOTCONNECTED = 0x80048265
14
- PPCRL_E_SQM_UNKNOWN = 0x80048401
15
- PPCRL_E_SQM_REQUEST_CANCELLED = 0x80048402
16
- PPCRL_E_SQM_QUERY_STATUSCODE = 0x80048403
17
- PPCRL_E_SQM_OUTOFMEMORY = 0x80048404
18
- PPCRL_E_SQM_READRESPONSE = 0x80048405
19
- PPCRL_E_SQM_RESPONSE_BADXML = 0x80048406
20
- PPCRL_E_SQM_INTERNET_OTHER = 0x80048407
21
- PPCRL_E_SQM_INTERNET_UI = 0x80048408
22
- PPCRL_E_SQM_INTERNET_SYNTAX = 0x80048409
23
- PPCRL_E_SQM_INTERNET_NAME_NOT_RESOLVED = 0x8004840A
24
- PPCRL_E_SQM_INTERNET_LOGIN = 0x8004840B
25
- PPCRL_E_SQM_INTERNET_PROXY = 0x8004840C
26
- PPCRL_E_SQM_INTERNET_OPERATION_CANCELLED = 0x8004840D
27
- PPCRL_E_SQM_INTERNET_INCORRECT_HANDLE_STATE = 0x8004840E
28
- PPCRL_E_SQM_INTERNET_CANNOT_CONNECT = 0x8004840F
29
- PPCRL_E_SQM_INTERNET_CONNECTION_ABORTED = 0x80048410
30
- PPCRL_E_SQM_INTERNET_CONNECTION_RESET = 0x80048411
31
- PPCRL_E_SQM_INTERNET_SEC_CERT_DATE_INVALID = 0x80048412
32
- PPCRL_E_SQM_INTERNET_SEC_CERT_CN_INVALID = 0x80048413
33
- PPCRL_E_SQM_INTERNET_SEC_CERT_ERRORS = 0x80048414
34
- PPCRL_E_SQM_INTERNET_SEC_CERT_NO_REV = 0x80048415
35
- PPCRL_E_SQM_INTERNET_SEC_CERT_REV_FAILED = 0x80048416
36
- PPCRL_E_SQM_INTERNET_CLIENT_AUTH_CERT_NEEDED = 0x80048417
37
- PPCRL_E_SQM_INTERNET_INVALID_CA = 0x80048418
38
- PPCRL_E_SQM_INTERNET_SECURITY_WARNING = 0x80048419
39
- PPCRL_E_SQM_INTERNET_POST_IS_NON_SECURE = 0x8004841A
40
- PPCRL_E_SQM_FTP = 0x8004841B
41
- PPCRL_E_SQM_GOPHER = 0x8004841C
42
- PPCRL_E_SQM_HTTP_HEADER = 0x8004841D
43
- PPCRL_E_SQM_HTTP_DOWNLEVEL_SERVER = 0x8004841E
44
- PPCRL_E_SQM_HTTP_INVALID_SERVER_RESPONSE = 0x8004841F
45
- PPCRL_E_SQM_HTTP_INVALID_QUERY_REQUEST = 0x80048420
46
- PPCRL_E_SQM_HTTP_REDIRECT = 0x80048421
47
- PPCRL_E_SQM_HTTP_COOKIE = 0x80048422
48
- PPCRL_E_SQM_INTERNET_SECURITY_CHANNEL_ERROR = 0x80048423
49
- PPCRL_E_SQM_INTERNET_DISCONNECTED = 0x80048424
50
- PPCRL_E_SQM_INTERNET_SERVER_UNREACHABLE = 0x80048425
51
- PPCRL_E_SQM_INTERNET_PROXY_SERVER_UNREACHABLE = 0x80048426
52
- PPCRL_E_SQM_INTERNET_PROXYSCRIPT = 0x80048427
53
- PPCRL_E_SQM_INTERNET_SEC_INVALID_CERT = 0x80048428
54
- PPCRL_E_SQM_INTERNET_SEC_CERT_REVOKED = 0x80048429
55
- PPCRL_E_SQM_INTERNET_AUTODIAL = 0x8004842A
56
- PPCRL_E_SQM_INTERNET_NOT_INITIALIZED = 0x8004842B
57
- PPCRL_E_SQM_LOCK = 0x8004842C
58
- PPCRL_E_SQM_SYNC_NOLOCK = 0x8004842D
59
- PPCRL_E_SQM_HTTP_QUERYINFO = 0x8004842E
60
- PPCRL_E_SQM_RESPONSE_TOO_LARGE = 0x8004842F
61
- PPCRL_E_SQM_INVALID_AUTH_SERVICE_RESPONSE = 0x80048430
62
- PPCRL_E_SQM_NO_TOKENBAG = 0x80048431
63
- PPCRL_E_SQM_RESPONSE_NOTIMESTAMPORRSTR = 0x80048432
64
- PPCRL_E_SQM_RESPONSE_NOSIGNATUREELEMENT = 0x80048433
65
- PPCRL_E_SQM_RESPONSE_NOCIPHERELEMENT = 0x80048434
66
- PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048435
67
- PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048436
68
- PPCRL_E_SQM_WAIT_ABANDONED = 0x80048437
69
- PPCRL_E_SQM_WAIT_TIMEOUT = 0x80048438
70
- PPCRL_E_SQM_INTERNET_TIMEOUT = 0x80048439
71
- module PPCRL_BASE
72
- SUCCESS = 0x00048800
73
- ERROR = 0x80048800
74
- end
75
- PPCRL_AUTHSTATE_E_UNAUTHENTICATED = 0x80048800
76
- PPCRL_AUTHSTATE_E_EXPIRED = 0x80048801
77
- PPCRL_AUTHSTATE_S_AUTHENTICATED_OFFLINE = 0x00048802
78
- PPCRL_AUTHSTATE_S_AUTHENTICATED_PASSWORD = 0x00048803
79
- PPCRL_AUTHSTATE_S_AUTHENTICATED_PARTNER = 0x00048804
80
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048805
81
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048806
82
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048807
83
- PPCRL_AUTHREQUIRED_E_PASSWORD = 0x80048810
84
- PPCRL_AUTHREQUIRED_E_CERTIFICATE = 0x80048813
85
- PPCRL_AUTHREQUIRED_E_UNKNOWN = 0x80048814
86
- PPCRL_REQUEST_E_AUTH_SERVER_ERROR = 0x80048820
87
- PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD = 0x80048821
88
- PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT = 0x80048823
89
- PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT_BAD_PASSWORD_OR_HIP = 0x80048824
90
- PPCRL_REQUEST_E_TOU_CONSENT_REQUIRED = 0x80048825
91
- PPCRL_REQUEST_E_FORCE_RENAME_REQUIRED = 0x80048826
92
- PPCRL_REQUEST_E_FORCE_CHANGE_PASSWORD_REQUIRED = 0x80048827
93
- PPCRL_REQUEST_E_STRONG_PASSWORD_REQUIRED = 0x80048828
94
- PPCRL_REQUEST_E_NO_CERTIFICATES_AVAILABLE = 0x80048829
95
- PPCRL_REQUEST_E_PARTNER_NOT_FOUND = 0x8004882A
96
- PPCRL_REQUEST_E_PARTNER_HAS_NO_ASYMMETRIC_KEY = 0x8004882B
97
- PPCRL_REQUEST_E_INVALID_POLICY = 0x8004882C
98
- PPCRL_REQUEST_E_INVALID_MEMBER_NAME = 0x8004882D
99
- PPCRL_REQUEST_E_MISSING_PRIMARY_CREDENTIAL = 0x8004882E
100
- PPCRL_REQUEST_E_PENDING_NETWORK_REQUEST = 0x8004882F
101
- PPCRL_REQUEST_E_FORCE_CHANGE_SQSA = 0x80048830
102
- PPCRL_REQUEST_E_PASSWORD_EXPIRED = 0x80048831
103
- PPCRL_REQUEST_E_PENDING_USER_INPUT = 0x80048832
104
- PPCRL_REQUEST_E_MISSING_HIP_SOLUTION = 0x80048833
105
- PPCRL_REQUEST_E_PROFILE_ACCRUE_REQUIRED = 0x80048834
106
- PPCRL_REQUEST_S_PROFILE_ACCRUE_DONE = 0x00048835
107
- PPCRL_REQUEST_E_EMAIL_VALIDATION_REQUIRED = 0x80048836
108
- PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW = 0x80048837
109
- PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW_EXPIRY = 0x80048838
110
- PPCRL_REQUEST_E_AUTH_EXPIRED = 0x80048839
111
- PPCRL_REQUEST_E_USER_FORGOT_PASSWORD = 0x80048841
112
- PPCRL_REQUEST_E_USER_CANCELED = 0x80048842
113
- PPCRL_E_INITIALIZED_DIFF_ENVIRONMENT = 0x80048046
114
- PPCRL_REQUEST_S_IO_PENDING = 0x00048847
115
- PPCRL_REQUEST_E_NO_NETWORK = 0x80048848
116
- PPCRL_REQUEST_E_UNKNOWN = 0x80048849
117
- PPCRL_REQUESTPARAMS_MISSING = 0x80048851 # ???
118
- PPCRL_REQUEST_E_WRONG_DA = 0x80048852
119
- PPCRL_REQUEST_E_KID_HAS_NO_CONSENT = 0x80048853
120
- PPCRL_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048854
121
- PPCRL_REQUEST_E_RSTR_FAULT = 0x80048855
122
- PPCRL_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048856
123
- PPCRL_REQUEST_E_RSTR_MISSING_BASE64CERT = 0x80048857
124
- PPCRL_REQUEST_E_RSTR_MISSING_TOKENTYPE = 0x80048858
125
- PPCRL_REQUEST_E_RSTR_MISSING_SERVICENAME = 0x80048859
126
- PPCRL_REQUEST_E_RSTR_INVALID_TOKENTYPE = 0x8004885A
127
- PPCRL_REQUEST_E_RSTR_MISSING_PRIVATE_KEY = 0x8004885B
128
- PPCRL_REQUEST_E_INVALID_SERVICE_TIMESTAMP = 0x8004885C
129
- PPCRL_REQUEST_E_INVALID_PKCS10_TIMESTAMP = 0x8004885D
130
- PPCRL_REQUEST_E_INVALID_PKCS10 = 0x8004885E
131
- PPCRL_S_NO_MORE_IDENTITIES = 0x00048860
132
- PPCRL_S_TOKEN_TYPE_DOES_NOT_SUPPORT_SESSION_KEY = 0x00048861
133
- PPCRL_E_IDENTITY_NOT_AUTHENTICATED = 0x80048861
134
- PPCRL_S_NO_SUCH_CREDENTIAL = 0x00048862
135
- PPCRL_E_UNABLE_TO_RETRIEVE_SERVICE_TOKEN = 0x80048862
136
- PPCRL_S_NO_AUTHENTICATION_REQUIRED = 0x00048863
137
- PPCRL_E_INVALID_DERIVATION_METHOD = 0x80048863
138
- PPCRL_E_INVALID_DERIVATION_PARAMS = 0x80048864
139
- PPCRL_E_INVALID_DERIVATION_ITERATIONS_PARAM = 0x80048865
140
- PPCRL_E_INVALID_DERIVATION_SALT_PARAM = 0x80048866
141
- PPCRL_E_INVALID_DERIVED_KEY_LENGTH = 0x80048867
142
- PPCRL_E_CERTIFICATE_AUTHENTICATION_NOT_SUPPORTED = 0x80048868
143
- PPCRL_E_AUTH_SERVICE_UNAVAILABLE = 0x80048869
144
- PPCRL_E_INVALID_AUTH_SERVICE_RESPONSE = 0x8004886A
145
- PPCRL_E_UNABLE_TO_INITIALIZE_CRYPTO_PROVIDER = 0x8004886B
146
- PPCRL_E_NO_MEMBER_NAME_SET = 0x8004886C
147
- PPCRL_E_CALLBACK_REQUIRED = 0x8004886D
148
- PPCRL_E_DISCONTINUE_AUTHENTICATION = 0x8004886E
149
- PPCRL_E_INVALIDFLAGS = 0x8004886F
150
- PPCRL_E_UNABLE_TO_RETRIEVE_CERT = 0x80048870
151
- PPCRL_E_INVALID_RSTPARAMS = 0x80048871
152
- PPCRL_E_MISSING_FILE = 0x80048872
153
- PPCRL_E_ILLEGAL_LOGONIDENTITY_FLAG = 0x80048873
154
- PPCRL_E_CERT_NOT_VALID_FOR_MINTTL = 0x80048874
155
- PPCRL_S_OK_CLIENTTIME = 0x00048875
156
- PPCRL_E_CERT_INVALID_ISSUER = 0x80048876
157
- PPCRL_E_NO_CERTSTORE_FOR_ISSUERS = 0x80048877
158
- PPCRL_E_OFFLINE_AUTH = 0x80048878
159
- PPCRL_E_SIGN_POP_FAILED = 0x80048879
160
- PPCRL_E_CERT_INVALID_POP = 0x80048880
161
- PPCRL_E_CALLER_NOT_SIGNED = 0x80048881
162
- PPCRL_E_BUSY = 0x80048882
163
- PPCRL_E_DOWNLOAD_FILE_FAILED = 0x80048883
164
- PPCRL_E_BUILD_CERT_REQUEST_FAILED = 0x80048884
165
- PPCRL_E_CERTIFICATE_NOT_FOUND = 0x80048885
166
- PPCRL_E_AUTHBLOB_TOO_LARGE = 0x80048886
167
- PPCRL_E_AUTHBLOB_NOT_FOUND = 0x80048887
168
- PPCRL_E_AUTHBLOB_INVALID = 0x80048888
169
- PPCRL_E_EXTPROP_NOTFOUND = 0x80048889
170
- PPCRL_E_RESPONSE_TOO_LARGE = 0x8004888A
171
- PPCRL_E_USER_NOTFOUND = 0x8004888C
172
- PPCRL_E_SIGCHECK_FAILED = 0x8004888D
173
- PPCRL_E_CREDTARGETNAME_INVALID = 0x8004888F
174
- PPCRL_E_CREDINFO_CORRUPTED = 0x80048890
175
- PPCRL_E_CREDPROP_NOTFOUND = 0x80048891
176
- PPCRL_E_NO_LINKEDACCOUNTS = 0x80048892
177
- PPCRL_E_NO_LINKEDHANDLE = 0x80048893
178
- PPCRL_E_CERT_CA_ROLLOVER = 0x80048894
179
- PPCRL_E_REALM_LOOKUP = 0x80048895
180
- PPCRL_E_FORBIDDEN_NAMESPACE = 0x80048897
181
- PPCRL_E_IDENTITY_NOCID = 0x80048899
182
- PPCRL_E_IE_MISCONFIGURED = 0x8004889A
183
- PPCRL_E_NO_UI = 0x8004889C
184
- PPCRL_E_INVALID_RPS_TOKEN = 0x8004889E
185
- PPCRL_E_NOT_UI_ERROR = 0x8004889F
186
- PPCRL_E_INVALID_URL = 0x800488A0
187
- PPCRL_REQUEST_E_PARTNER_INVALID_REQUEST = 0x800488D6
188
- PPCRL_REQUEST_E_PARTNER_REQUEST_FAILED = 0x800488D7
189
- PPCRL_REQUEST_E_PARTNER_INVALID_SECURITY_TOKEN = 0x800488D8
190
- PPCRL_REQUEST_E_PARTNER_AUTHENTICATION_BAD_ELEMENTS = 0x800488D9
191
- PPCRL_REQUEST_E_PARTNER_BAD_REQUEST = 0x800488DA
192
- PPCRL_REQUEST_E_PARTNER_EXPIRED_DATA = 0x800488DB
193
- PPCRL_REQUEST_E_PARTNER_INVALID_TIME_RANGE = 0x800488DC
194
- PPCRL_REQUEST_E_PARTNER_INVALID_SCOPE = 0x800488DD
195
- PPCRL_REQUEST_E_PARTNER_RENEW_NEEDED = 0x800488DE
196
- PPCRL_REQUEST_E_PARTNER_UNABLE_TO_RENEW = 0x800488DF
197
- PPCRL_REQUEST_E_MISSING_HASHED_PASSWORD = 0x800488E0
198
- PPCRL_REQUEST_E_CLIENT_DEPRECATED = 0x800488E1
199
- PPCRL_REQUEST_E_CANCELLED = 0x800488E2
200
- PPCRL_REQUEST_E_INVALID_PKCS10_KEYLEN = 0x800488E3
201
- PPCRL_REQUEST_E_DUPLICATE_SERVICETARGET = 0x800488E4
202
- PPCRL_REQUEST_E_FORCE_SIGNIN = 0x800488E5
203
- PPCRL_REQUEST_E_PARTNER_NEED_CERTIFICATE = 0x800488E6
204
- PPCRL_REQUEST_E_PARTNER_NEED_PIN = 0x800488E7
205
- PPCRL_REQUEST_E_PARTNER_NEED_PASSWORD = 0x800488E8
206
- PPCRL_REQUEST_S_OK_NO_SLC = 0x000488E9
207
- PPCRL_REQUEST_S_IO_PENDING_NO_SLC = 0x000488EA
208
- PPCRL_REQUEST_E_SCHANNEL_ERROR = 0x800488EB
209
- PPCRL_REQUEST_E_CERT_PARSE_ERROR = 0x800488EC
210
- PPCRL_REQUEST_E_PARTNER_SERVER_ERROR = 0x800488ED
211
- PPCRL_REQUEST_E_PARTNER_LOGIN = 0x800488EE
212
- PPCRL_REQUEST_E_FLOWDISABLED = 0x800488EF
213
- PPCRL_REQUEST_E_USER_NOT_LINKED = 0x800488F0
214
- PPCRL_REQUEST_E_ACCOUNT_CONVERSION_NEEDED = 0x800488F1
215
- PPCRL_REQUEST_E_PARTNER_BAD_MEMBER_NAME_OR_PASSWORD = 0x800488F2
216
- PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD_FED = 0x800488F3
217
- PPCRL_REQUEST_E_HIP_ON_FIRST_LOGIN = 0x800488F4
218
- PPCRL_REQUEST_E_INVALID_CARDSPACE_TOKEN = 0x800488F5
219
- end
220
- end
221
- end
1
+ class LiveIdentity
2
+ module IDCRL
3
+ module HRESULT
4
+ # INVALID_STS_REQUEST ? = 0x80045C01
5
+ PP_E_CRL_NOT_INITIALIZED = 0x80048008
6
+ PPCRL_NO_SESSION_KEY = 0x8004800E
7
+ # INVALID_MEMORY_POINTER ? = 0x8004801E
8
+ # INVALID_ ??? = 0x8004802C
9
+ # INVALID_REQUEST_FLAGS ? = 0x80048031
10
+ PPCRL_S_ALREADY_INITIALIZED = 0x00048044
11
+ PPCRL_S_STILL_INUSE = 0x00048045
12
+ PP_E_CRL_REG_OPEN_FAILED = 0x80048251
13
+ PP_E_NOTCONNECTED = 0x80048265
14
+ PPCRL_E_SQM_UNKNOWN = 0x80048401
15
+ PPCRL_E_SQM_REQUEST_CANCELLED = 0x80048402
16
+ PPCRL_E_SQM_QUERY_STATUSCODE = 0x80048403
17
+ PPCRL_E_SQM_OUTOFMEMORY = 0x80048404
18
+ PPCRL_E_SQM_READRESPONSE = 0x80048405
19
+ PPCRL_E_SQM_RESPONSE_BADXML = 0x80048406
20
+ PPCRL_E_SQM_INTERNET_OTHER = 0x80048407
21
+ PPCRL_E_SQM_INTERNET_UI = 0x80048408
22
+ PPCRL_E_SQM_INTERNET_SYNTAX = 0x80048409
23
+ PPCRL_E_SQM_INTERNET_NAME_NOT_RESOLVED = 0x8004840A
24
+ PPCRL_E_SQM_INTERNET_LOGIN = 0x8004840B
25
+ PPCRL_E_SQM_INTERNET_PROXY = 0x8004840C
26
+ PPCRL_E_SQM_INTERNET_OPERATION_CANCELLED = 0x8004840D
27
+ PPCRL_E_SQM_INTERNET_INCORRECT_HANDLE_STATE = 0x8004840E
28
+ PPCRL_E_SQM_INTERNET_CANNOT_CONNECT = 0x8004840F
29
+ PPCRL_E_SQM_INTERNET_CONNECTION_ABORTED = 0x80048410
30
+ PPCRL_E_SQM_INTERNET_CONNECTION_RESET = 0x80048411
31
+ PPCRL_E_SQM_INTERNET_SEC_CERT_DATE_INVALID = 0x80048412
32
+ PPCRL_E_SQM_INTERNET_SEC_CERT_CN_INVALID = 0x80048413
33
+ PPCRL_E_SQM_INTERNET_SEC_CERT_ERRORS = 0x80048414
34
+ PPCRL_E_SQM_INTERNET_SEC_CERT_NO_REV = 0x80048415
35
+ PPCRL_E_SQM_INTERNET_SEC_CERT_REV_FAILED = 0x80048416
36
+ PPCRL_E_SQM_INTERNET_CLIENT_AUTH_CERT_NEEDED = 0x80048417
37
+ PPCRL_E_SQM_INTERNET_INVALID_CA = 0x80048418
38
+ PPCRL_E_SQM_INTERNET_SECURITY_WARNING = 0x80048419
39
+ PPCRL_E_SQM_INTERNET_POST_IS_NON_SECURE = 0x8004841A
40
+ PPCRL_E_SQM_FTP = 0x8004841B
41
+ PPCRL_E_SQM_GOPHER = 0x8004841C
42
+ PPCRL_E_SQM_HTTP_HEADER = 0x8004841D
43
+ PPCRL_E_SQM_HTTP_DOWNLEVEL_SERVER = 0x8004841E
44
+ PPCRL_E_SQM_HTTP_INVALID_SERVER_RESPONSE = 0x8004841F
45
+ PPCRL_E_SQM_HTTP_INVALID_QUERY_REQUEST = 0x80048420
46
+ PPCRL_E_SQM_HTTP_REDIRECT = 0x80048421
47
+ PPCRL_E_SQM_HTTP_COOKIE = 0x80048422
48
+ PPCRL_E_SQM_INTERNET_SECURITY_CHANNEL_ERROR = 0x80048423
49
+ PPCRL_E_SQM_INTERNET_DISCONNECTED = 0x80048424
50
+ PPCRL_E_SQM_INTERNET_SERVER_UNREACHABLE = 0x80048425
51
+ PPCRL_E_SQM_INTERNET_PROXY_SERVER_UNREACHABLE = 0x80048426
52
+ PPCRL_E_SQM_INTERNET_PROXYSCRIPT = 0x80048427
53
+ PPCRL_E_SQM_INTERNET_SEC_INVALID_CERT = 0x80048428
54
+ PPCRL_E_SQM_INTERNET_SEC_CERT_REVOKED = 0x80048429
55
+ PPCRL_E_SQM_INTERNET_AUTODIAL = 0x8004842A
56
+ PPCRL_E_SQM_INTERNET_NOT_INITIALIZED = 0x8004842B
57
+ PPCRL_E_SQM_LOCK = 0x8004842C
58
+ PPCRL_E_SQM_SYNC_NOLOCK = 0x8004842D
59
+ PPCRL_E_SQM_HTTP_QUERYINFO = 0x8004842E
60
+ PPCRL_E_SQM_RESPONSE_TOO_LARGE = 0x8004842F
61
+ PPCRL_E_SQM_INVALID_AUTH_SERVICE_RESPONSE = 0x80048430
62
+ PPCRL_E_SQM_NO_TOKENBAG = 0x80048431
63
+ PPCRL_E_SQM_RESPONSE_NOTIMESTAMPORRSTR = 0x80048432
64
+ PPCRL_E_SQM_RESPONSE_NOSIGNATUREELEMENT = 0x80048433
65
+ PPCRL_E_SQM_RESPONSE_NOCIPHERELEMENT = 0x80048434
66
+ PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048435
67
+ PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048436
68
+ PPCRL_E_SQM_WAIT_ABANDONED = 0x80048437
69
+ PPCRL_E_SQM_WAIT_TIMEOUT = 0x80048438
70
+ PPCRL_E_SQM_INTERNET_TIMEOUT = 0x80048439
71
+ module PPCRL_BASE
72
+ SUCCESS = 0x00048800
73
+ ERROR = 0x80048800
74
+ end
75
+ PPCRL_AUTHSTATE_E_UNAUTHENTICATED = 0x80048800
76
+ PPCRL_AUTHSTATE_E_EXPIRED = 0x80048801
77
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_OFFLINE = 0x00048802
78
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_PASSWORD = 0x00048803
79
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_PARTNER = 0x00048804
80
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048805
81
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048806
82
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048807
83
+ PPCRL_AUTHREQUIRED_E_PASSWORD = 0x80048810
84
+ PPCRL_AUTHREQUIRED_E_CERTIFICATE = 0x80048813
85
+ PPCRL_AUTHREQUIRED_E_UNKNOWN = 0x80048814
86
+ PPCRL_REQUEST_E_AUTH_SERVER_ERROR = 0x80048820
87
+ PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD = 0x80048821
88
+ PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT = 0x80048823
89
+ PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT_BAD_PASSWORD_OR_HIP = 0x80048824
90
+ PPCRL_REQUEST_E_TOU_CONSENT_REQUIRED = 0x80048825
91
+ PPCRL_REQUEST_E_FORCE_RENAME_REQUIRED = 0x80048826
92
+ PPCRL_REQUEST_E_FORCE_CHANGE_PASSWORD_REQUIRED = 0x80048827
93
+ PPCRL_REQUEST_E_STRONG_PASSWORD_REQUIRED = 0x80048828
94
+ PPCRL_REQUEST_E_NO_CERTIFICATES_AVAILABLE = 0x80048829
95
+ PPCRL_REQUEST_E_PARTNER_NOT_FOUND = 0x8004882A
96
+ PPCRL_REQUEST_E_PARTNER_HAS_NO_ASYMMETRIC_KEY = 0x8004882B
97
+ PPCRL_REQUEST_E_INVALID_POLICY = 0x8004882C
98
+ PPCRL_REQUEST_E_INVALID_MEMBER_NAME = 0x8004882D
99
+ PPCRL_REQUEST_E_MISSING_PRIMARY_CREDENTIAL = 0x8004882E
100
+ PPCRL_REQUEST_E_PENDING_NETWORK_REQUEST = 0x8004882F
101
+ PPCRL_REQUEST_E_FORCE_CHANGE_SQSA = 0x80048830
102
+ PPCRL_REQUEST_E_PASSWORD_EXPIRED = 0x80048831
103
+ PPCRL_REQUEST_E_PENDING_USER_INPUT = 0x80048832
104
+ PPCRL_REQUEST_E_MISSING_HIP_SOLUTION = 0x80048833
105
+ PPCRL_REQUEST_E_PROFILE_ACCRUE_REQUIRED = 0x80048834
106
+ PPCRL_REQUEST_S_PROFILE_ACCRUE_DONE = 0x00048835
107
+ PPCRL_REQUEST_E_EMAIL_VALIDATION_REQUIRED = 0x80048836
108
+ PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW = 0x80048837
109
+ PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW_EXPIRY = 0x80048838
110
+ PPCRL_REQUEST_E_AUTH_EXPIRED = 0x80048839
111
+ PPCRL_REQUEST_E_USER_FORGOT_PASSWORD = 0x80048841
112
+ PPCRL_REQUEST_E_USER_CANCELED = 0x80048842
113
+ PPCRL_E_INITIALIZED_DIFF_ENVIRONMENT = 0x80048046
114
+ PPCRL_REQUEST_S_IO_PENDING = 0x00048847
115
+ PPCRL_REQUEST_E_NO_NETWORK = 0x80048848
116
+ PPCRL_REQUEST_E_UNKNOWN = 0x80048849
117
+ PPCRL_REQUESTPARAMS_MISSING = 0x80048851 # ???
118
+ PPCRL_REQUEST_E_WRONG_DA = 0x80048852
119
+ PPCRL_REQUEST_E_KID_HAS_NO_CONSENT = 0x80048853
120
+ PPCRL_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048854
121
+ PPCRL_REQUEST_E_RSTR_FAULT = 0x80048855
122
+ PPCRL_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048856
123
+ PPCRL_REQUEST_E_RSTR_MISSING_BASE64CERT = 0x80048857
124
+ PPCRL_REQUEST_E_RSTR_MISSING_TOKENTYPE = 0x80048858
125
+ PPCRL_REQUEST_E_RSTR_MISSING_SERVICENAME = 0x80048859
126
+ PPCRL_REQUEST_E_RSTR_INVALID_TOKENTYPE = 0x8004885A
127
+ PPCRL_REQUEST_E_RSTR_MISSING_PRIVATE_KEY = 0x8004885B
128
+ PPCRL_REQUEST_E_INVALID_SERVICE_TIMESTAMP = 0x8004885C
129
+ PPCRL_REQUEST_E_INVALID_PKCS10_TIMESTAMP = 0x8004885D
130
+ PPCRL_REQUEST_E_INVALID_PKCS10 = 0x8004885E
131
+ PPCRL_S_NO_MORE_IDENTITIES = 0x00048860
132
+ PPCRL_S_TOKEN_TYPE_DOES_NOT_SUPPORT_SESSION_KEY = 0x00048861
133
+ PPCRL_E_IDENTITY_NOT_AUTHENTICATED = 0x80048861
134
+ PPCRL_S_NO_SUCH_CREDENTIAL = 0x00048862
135
+ PPCRL_E_UNABLE_TO_RETRIEVE_SERVICE_TOKEN = 0x80048862
136
+ PPCRL_S_NO_AUTHENTICATION_REQUIRED = 0x00048863
137
+ PPCRL_E_INVALID_DERIVATION_METHOD = 0x80048863
138
+ PPCRL_E_INVALID_DERIVATION_PARAMS = 0x80048864
139
+ PPCRL_E_INVALID_DERIVATION_ITERATIONS_PARAM = 0x80048865
140
+ PPCRL_E_INVALID_DERIVATION_SALT_PARAM = 0x80048866
141
+ PPCRL_E_INVALID_DERIVED_KEY_LENGTH = 0x80048867
142
+ PPCRL_E_CERTIFICATE_AUTHENTICATION_NOT_SUPPORTED = 0x80048868
143
+ PPCRL_E_AUTH_SERVICE_UNAVAILABLE = 0x80048869
144
+ PPCRL_E_INVALID_AUTH_SERVICE_RESPONSE = 0x8004886A
145
+ PPCRL_E_UNABLE_TO_INITIALIZE_CRYPTO_PROVIDER = 0x8004886B
146
+ PPCRL_E_NO_MEMBER_NAME_SET = 0x8004886C
147
+ PPCRL_E_CALLBACK_REQUIRED = 0x8004886D
148
+ PPCRL_E_DISCONTINUE_AUTHENTICATION = 0x8004886E
149
+ PPCRL_E_INVALIDFLAGS = 0x8004886F
150
+ PPCRL_E_UNABLE_TO_RETRIEVE_CERT = 0x80048870
151
+ PPCRL_E_INVALID_RSTPARAMS = 0x80048871
152
+ PPCRL_E_MISSING_FILE = 0x80048872
153
+ PPCRL_E_ILLEGAL_LOGONIDENTITY_FLAG = 0x80048873
154
+ PPCRL_E_CERT_NOT_VALID_FOR_MINTTL = 0x80048874
155
+ PPCRL_S_OK_CLIENTTIME = 0x00048875
156
+ PPCRL_E_CERT_INVALID_ISSUER = 0x80048876
157
+ PPCRL_E_NO_CERTSTORE_FOR_ISSUERS = 0x80048877
158
+ PPCRL_E_OFFLINE_AUTH = 0x80048878
159
+ PPCRL_E_SIGN_POP_FAILED = 0x80048879
160
+ PPCRL_E_CERT_INVALID_POP = 0x80048880
161
+ PPCRL_E_CALLER_NOT_SIGNED = 0x80048881
162
+ PPCRL_E_BUSY = 0x80048882
163
+ PPCRL_E_DOWNLOAD_FILE_FAILED = 0x80048883
164
+ PPCRL_E_BUILD_CERT_REQUEST_FAILED = 0x80048884
165
+ PPCRL_E_CERTIFICATE_NOT_FOUND = 0x80048885
166
+ PPCRL_E_AUTHBLOB_TOO_LARGE = 0x80048886
167
+ PPCRL_E_AUTHBLOB_NOT_FOUND = 0x80048887
168
+ PPCRL_E_AUTHBLOB_INVALID = 0x80048888
169
+ PPCRL_E_EXTPROP_NOTFOUND = 0x80048889
170
+ PPCRL_E_RESPONSE_TOO_LARGE = 0x8004888A
171
+ PPCRL_E_USER_NOTFOUND = 0x8004888C
172
+ PPCRL_E_SIGCHECK_FAILED = 0x8004888D
173
+ PPCRL_E_CREDTARGETNAME_INVALID = 0x8004888F
174
+ PPCRL_E_CREDINFO_CORRUPTED = 0x80048890
175
+ PPCRL_E_CREDPROP_NOTFOUND = 0x80048891
176
+ PPCRL_E_NO_LINKEDACCOUNTS = 0x80048892
177
+ PPCRL_E_NO_LINKEDHANDLE = 0x80048893
178
+ PPCRL_E_CERT_CA_ROLLOVER = 0x80048894
179
+ PPCRL_E_REALM_LOOKUP = 0x80048895
180
+ PPCRL_E_FORBIDDEN_NAMESPACE = 0x80048897
181
+ PPCRL_E_IDENTITY_NOCID = 0x80048899
182
+ PPCRL_E_IE_MISCONFIGURED = 0x8004889A
183
+ PPCRL_E_NO_UI = 0x8004889C
184
+ PPCRL_E_INVALID_RPS_TOKEN = 0x8004889E
185
+ PPCRL_E_NOT_UI_ERROR = 0x8004889F
186
+ PPCRL_E_INVALID_URL = 0x800488A0
187
+ PPCRL_REQUEST_E_PARTNER_INVALID_REQUEST = 0x800488D6
188
+ PPCRL_REQUEST_E_PARTNER_REQUEST_FAILED = 0x800488D7
189
+ PPCRL_REQUEST_E_PARTNER_INVALID_SECURITY_TOKEN = 0x800488D8
190
+ PPCRL_REQUEST_E_PARTNER_AUTHENTICATION_BAD_ELEMENTS = 0x800488D9
191
+ PPCRL_REQUEST_E_PARTNER_BAD_REQUEST = 0x800488DA
192
+ PPCRL_REQUEST_E_PARTNER_EXPIRED_DATA = 0x800488DB
193
+ PPCRL_REQUEST_E_PARTNER_INVALID_TIME_RANGE = 0x800488DC
194
+ PPCRL_REQUEST_E_PARTNER_INVALID_SCOPE = 0x800488DD
195
+ PPCRL_REQUEST_E_PARTNER_RENEW_NEEDED = 0x800488DE
196
+ PPCRL_REQUEST_E_PARTNER_UNABLE_TO_RENEW = 0x800488DF
197
+ PPCRL_REQUEST_E_MISSING_HASHED_PASSWORD = 0x800488E0
198
+ PPCRL_REQUEST_E_CLIENT_DEPRECATED = 0x800488E1
199
+ PPCRL_REQUEST_E_CANCELLED = 0x800488E2
200
+ PPCRL_REQUEST_E_INVALID_PKCS10_KEYLEN = 0x800488E3
201
+ PPCRL_REQUEST_E_DUPLICATE_SERVICETARGET = 0x800488E4
202
+ PPCRL_REQUEST_E_FORCE_SIGNIN = 0x800488E5
203
+ PPCRL_REQUEST_E_PARTNER_NEED_CERTIFICATE = 0x800488E6
204
+ PPCRL_REQUEST_E_PARTNER_NEED_PIN = 0x800488E7
205
+ PPCRL_REQUEST_E_PARTNER_NEED_PASSWORD = 0x800488E8
206
+ PPCRL_REQUEST_S_OK_NO_SLC = 0x000488E9
207
+ PPCRL_REQUEST_S_IO_PENDING_NO_SLC = 0x000488EA
208
+ PPCRL_REQUEST_E_SCHANNEL_ERROR = 0x800488EB
209
+ PPCRL_REQUEST_E_CERT_PARSE_ERROR = 0x800488EC
210
+ PPCRL_REQUEST_E_PARTNER_SERVER_ERROR = 0x800488ED
211
+ PPCRL_REQUEST_E_PARTNER_LOGIN = 0x800488EE
212
+ PPCRL_REQUEST_E_FLOWDISABLED = 0x800488EF
213
+ PPCRL_REQUEST_E_USER_NOT_LINKED = 0x800488F0
214
+ PPCRL_REQUEST_E_ACCOUNT_CONVERSION_NEEDED = 0x800488F1
215
+ PPCRL_REQUEST_E_PARTNER_BAD_MEMBER_NAME_OR_PASSWORD = 0x800488F2
216
+ PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD_FED = 0x800488F3
217
+ PPCRL_REQUEST_E_HIP_ON_FIRST_LOGIN = 0x800488F4
218
+ PPCRL_REQUEST_E_INVALID_CARDSPACE_TOKEN = 0x800488F5
219
+ end
220
+ end
221
+ end
@@ -1,298 +1,297 @@
1
- class LiveIdentity
2
- module IDCRL
3
- module Structs
4
- class IDCRL_OPTION < FFI::Struct
5
- layout({
6
- :dwId => IDCRL_OPTION_ID,
7
- :pValue => :PBYTE,
8
- :cbValue => :size_t
9
- })
10
- end
11
-
12
- class IDCRL_OPTIONS < FFI::Struct
13
- layout({
14
- :dwCount => :DWORD,
15
- :arrOptions => :pointer # *IDCRL_OPTION[]
16
- })
17
- end
18
-
19
- class IDCRL_STATUS_V1 < FFI::Struct
20
- layout({
21
- :hrAuthState => :HRESULT,
22
- :hrAuthRequired => :HRESULT,
23
- :hrRequestStatus => :HRESULT,
24
- :hrUIError => :HRESULT,
25
- :wszWebFlowUrl => :LPWSTR
26
- })
27
-
28
- def AuthState
29
- self[:hrAuthState]
30
- end
31
-
32
- def AuthRequired
33
- self[:hrAuthRequired]
34
- end
35
-
36
- def RequestStatus
37
- self[:hrRequestStatus]
38
- end
39
-
40
- def WebFlowUrl
41
- @WebFlowUrl ||= read_wide_string(self[:wszWebFlowUrl])
42
- end
43
-
44
- def WebFlowUrl= (webFlowUrl)
45
- @WebFlowUrl = webFlowUrl
46
- self[:wszWebFlowUrl] = StringToWSTR(webFlowUrl)
47
- end
48
-
49
- def to_s
50
- "AuthState: #{WinCommon::Errors::HRESULT::GetNameCode(AuthState())}\n" +
51
- "AuthRequired: #{WinCommon::Errors::HRESULT::GetNameCode(AuthRequired())}\n" +
52
- "RequestStatus: #{WinCommon::Errors::HRESULT::GetNameCode(RequestStatus())}"
53
- end
54
-
55
- def IsAuthenticated?
56
- RequestStatus() >= 0 && AuthState() >= 0
57
- end
58
- end
59
-
60
- class PASSPORT_NAME_VALUE_PAIR < FFI::Struct
61
- layout({
62
- :szName => :LPWSTR,
63
- :szValue => :LPWSTR
64
- })
65
- end
66
-
67
- class IDCRL::UIParam < FFI::Struct
68
- layout({
69
- :dwFlags => :DWORD,
70
- :hwndParent => :HANDLE,
71
- :wszCobrandingText => :LPWSTR,
72
- :wszAppName => :LPWSTR,
73
- :wszSignupText => :LPWSTR,
74
- :wszSignupText => :LPWSTR,
75
- :wszCobrandingLogoPath => :LPWSTR,
76
- :wszHeaderBgImage => :LPWSTR,
77
- :dwBgColor => :DWORD,
78
- :dwURLColor => :DWORD,
79
- :dwTileBgColor => :DWORD,
80
- :dwTileBdColor => :DWORD,
81
- :dwFieldBdColor => :DWORD,
82
- :dwCheckboxLbColor => :DWORD,
83
- :dwBtTxtColor => :DWORD,
84
- :dwTileLbColor => :DWORD,
85
- :lWinLeft => :LONG,
86
- :lWinTop => :LONG,
87
- :wszSignupUrl => :LPWSTR
88
- })
89
- end
90
-
91
- class RSTParams < FFI::Struct
92
- layout({
93
- :cbSize => :DWORD,
94
- :wzServiceTarget => :LPCWSTR,
95
- :wzServicePolicy => :LPCWSTR,
96
- :dwTokenFlags => :DWORD,
97
- :dwTokenParam => :DWORD
98
- })
99
-
100
- def self.build(data, address = nil)
101
- param = IDCRL::RSTParams.new(address)
102
- param[:cbSize] = self.size
103
- param[:wzServiceTarget] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServiceTarget].to_s))
104
- param[:wzServicePolicy] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServicePolicy].to_s))
105
- param[:dwTokenFlags] = 0
106
- param[:dwTokenParam] = 0
107
- param[:dwTokenFlags] = data[:TokenFlags] if data.has_key?(:TokenFlags)
108
- param[:dwTokenParam] = data[:TokenParam] if data.has_key?(:TokenParam)
109
- param
110
- end
111
- end
112
-
113
- class PASSPORTCREDCUSTOMUI < FFI::Struct
114
- layout({
115
- :cElements => :LONG,
116
- :customValues => :LPWSTR
117
- })
118
- end
119
-
120
- class MultiRSTParams < FFI::Struct
121
- layout({
122
- :dwRSTParamsCount => :DWORD,
123
- :pRSTParams => :pointer, # *RSTParams[]
124
- :dwMultiRSTParamsFlags => :DWORD
125
- })
126
- end
127
-
128
- class PassportCredUIInfo < FFI::Struct
129
- layout({
130
- :hwndParent => :HWND,
131
- :ptPosition => IDCRL::POINT,
132
- :szSize => IDCRL::SIZE,
133
- :bShow => :BOOL
134
- })
135
- end
136
-
137
- class SSO_UIParam < FFI::Struct
138
- layout({
139
- :cbsize => :DWORD,
140
- :dwReserved => :DWORD,
141
- :hwndParent => :HWND,
142
- :pReserved => :UINT_PTR,
143
- :wszServiceName => :LPCWSTR,
144
- :rgbReserved => [:BYTE, 16],
145
- :rghReserved => [:UINT_PTR, 45]
146
- })
147
- end
148
-
149
- class CertSet < FFI::Struct
150
- layout({
151
- :pCertContext => :PCERT_CONTEXT,
152
- :pCACertContext => :PCERT_CONTEXT,
153
- :cbPOP => :DWORD,
154
- :pbPOP => :PBYTE
155
- })
156
-
157
- def self.build
158
- certSet = CertSet.new
159
- certSet[:pCertContext] = FFI::MemoryPointer.new(:pointer)
160
- certSet[:pCACertContext] = FFI::MemoryPointer.new(:pointer)
161
- certSet[:cbPOP] = 0
162
- certSet[:pbPOP] = FFI::MemoryPointer.new(:PBYTE)
163
- certSet
164
- end
165
-
166
- def CertContext
167
- @CertContext ||= CERT_CONTEXT.new(self[:pCertContext])
168
- end
169
-
170
- def CertContext= (certContext)
171
- @CertContext = certContext
172
- self[:pCertContext] = FFI::MemoryPointer.new(certContext)
173
- end
174
-
175
- def CACertContext
176
- @CertContext ||= CERT_CONTEXT.new(self[:pCACertContext])
177
- end
178
-
179
- def CACertContext= (caCertContext)
180
- @CACertContext = caCertContext
181
- self[:pCACertContext] = FFI::MemoryPointer.new(caCertContext)
182
- end
183
-
184
- def POP
185
- @POP ||= self[:pbPOP].read_string(self[:cbPOP])
186
- end
187
-
188
- def POP= (pop)
189
- @POP = pop
190
- self[:cbPOP] = pop.bytesize
191
- self[:pbPOP] = FFI::MemoryPointer.from_string(pop)
192
- end
193
-
194
- end
195
-
196
- class MD5Data < FFI::Struct
197
- layout({
198
- :szMD5Url => :LPWSTR,
199
- :szPostData => :LPWSTR
200
- })
201
-
202
- def MD5Url
203
- @MD5Url ||= read_wide_string(self[:szMD5Url])
204
- end
205
-
206
- def MD5Url= (md5Url)
207
- @MD5Url = md5Url
208
- self[:szMD5Url] = StringToWSTR(md5Url)
209
- end
210
-
211
- def PostData
212
- @PostData ||= read_wide_string(self[:szPostData])
213
- end
214
-
215
- def PostData= (postData)
216
- @PostData = postData
217
- self[:szPostData] = StringToWSTR(postData)
218
- end
219
- end
220
-
221
- class SHA1 < FFI::Struct
222
- layout({
223
- :szSHA1Url => :LPWSTR,
224
- :szSHA1PostData => :LPWSTR
225
- })
226
-
227
- def SHA1Url
228
- @SHA1Url ||= read_wide_string(self[:szSHA1Url])
229
- end
230
-
231
- def SHA1Url= (sha1Url)
232
- @SHA1Url = sha1Url
233
- self[:szSHA1Url] = StringToWSTR(sha1Url)
234
- end
235
-
236
- def SHA1PostData
237
- @SHA1PostData ||= read_wide_string(self[:szSHA1PostData])
238
- end
239
-
240
- def SHA1PostData= (sha1PostData)
241
- @SHA1PostData = sha1PostData
242
- self[:szSHA1PostData] = StringToWSTR(sha1PostData)
243
- end
244
- end
245
-
246
- class AuthState < FFI::Struct
247
- layout({
248
- :szToken => :LPWSTR,
249
- :dwResultFlags => SERVICETOKENFLAGS,
250
- :pbSessionKey => :LPWSTR,
251
- :dwSessionKeyLength => :DWORD
252
- })
253
-
254
- def Token
255
- @Token ||= read_wide_string(self[:szToken]) unless self[:szToken].null?
256
- end
257
-
258
- def Token= (token)
259
- @Token = token
260
- self[:szToken] = StringToWSTR(token)
261
- end
262
-
263
- def ResultFlags
264
- self[:dwResultFlags]
265
- end
266
-
267
- def ResultFlags= (resultFlags)
268
- self[:dwResultFlags] = resultFlags
269
- end
270
-
271
- def SessionKey
272
- @SessionKey ||= read_wide_string(self[:pbSessionKey]) unless self[:pbSessionKey].null?
273
- end
274
-
275
- def SessionKey= (sessionKey)
276
- @SessionKey = sessionKey
277
- self[:pbSessionKey] = StringToWSTR(sessionKey)
278
- end
279
-
280
- def SessionKeyLength
281
- self[:dwSessionKeyLength]
282
- end
283
-
284
- def SessionKeyLength= (sessionKeyLength)
285
- self[:dwSessionKeyLength] = sessionKeyLength
286
- end
287
-
288
- def to_s
289
- "Token: #{Token()}\n" +
290
- "ResultFlags: #{ResultFlags()}\n" +
291
- "SessionKey: #{SessionKey()}\n" +
292
- "SessionKeyLength: #{SessionKeyLength()}"
293
- end
294
- end
295
-
296
- end
297
- end
298
- end
1
+ class LiveIdentity
2
+ module IDCRL
3
+ module Structs
4
+ class IDCRL_OPTION < FFI::Struct
5
+ layout({
6
+ :dwId => IDCRL_OPTION_ID,
7
+ :pValue => :PBYTE,
8
+ :cbValue => :size_t
9
+ })
10
+ end
11
+
12
+ class IDCRL_OPTIONS < FFI::Struct
13
+ layout({
14
+ :dwCount => :DWORD,
15
+ :arrOptions => :pointer # *IDCRL_OPTION[]
16
+ })
17
+ end
18
+
19
+ class IDCRL_STATUS_V1 < FFI::Struct
20
+ layout({
21
+ :hrAuthState => :HRESULT,
22
+ :hrAuthRequired => :HRESULT,
23
+ :hrRequestStatus => :HRESULT,
24
+ :hrUIError => :HRESULT,
25
+ :wszWebFlowUrl => :LPWSTR
26
+ })
27
+
28
+ def AuthState
29
+ self[:hrAuthState]
30
+ end
31
+
32
+ def AuthRequired
33
+ self[:hrAuthRequired]
34
+ end
35
+
36
+ def RequestStatus
37
+ self[:hrRequestStatus]
38
+ end
39
+
40
+ def WebFlowUrl
41
+ @WebFlowUrl ||= read_wide_string(self[:wszWebFlowUrl])
42
+ end
43
+
44
+ def WebFlowUrl= (webFlowUrl)
45
+ @WebFlowUrl = webFlowUrl
46
+ self[:wszWebFlowUrl] = StringToWSTR(webFlowUrl)
47
+ end
48
+
49
+ def to_s
50
+ "AuthState: #{WinCommon::Errors::HRESULT::GetNameCode(AuthState())}\n" +
51
+ "AuthRequired: #{WinCommon::Errors::HRESULT::GetNameCode(AuthRequired())}\n" +
52
+ "RequestStatus: #{WinCommon::Errors::HRESULT::GetNameCode(RequestStatus())}"
53
+ end
54
+
55
+ def IsAuthenticated?
56
+ RequestStatus() >= 0 && AuthState() >= 0
57
+ end
58
+ end
59
+
60
+ class PASSPORT_NAME_VALUE_PAIR < FFI::Struct
61
+ layout({
62
+ :szName => :LPWSTR,
63
+ :szValue => :LPWSTR
64
+ })
65
+ end
66
+
67
+ class IDCRL::UIParam < FFI::Struct
68
+ layout({
69
+ :dwFlags => :DWORD,
70
+ :hwndParent => :HANDLE,
71
+ :wszCobrandingText => :LPWSTR,
72
+ :wszAppName => :LPWSTR,
73
+ :wszSignupText => :LPWSTR,
74
+ :wszCobrandingLogoPath => :LPWSTR,
75
+ :wszHeaderBgImage => :LPWSTR,
76
+ :dwBgColor => :DWORD,
77
+ :dwURLColor => :DWORD,
78
+ :dwTileBgColor => :DWORD,
79
+ :dwTileBdColor => :DWORD,
80
+ :dwFieldBdColor => :DWORD,
81
+ :dwCheckboxLbColor => :DWORD,
82
+ :dwBtTxtColor => :DWORD,
83
+ :dwTileLbColor => :DWORD,
84
+ :lWinLeft => :LONG,
85
+ :lWinTop => :LONG,
86
+ :wszSignupUrl => :LPWSTR
87
+ })
88
+ end
89
+
90
+ class RSTParams < FFI::Struct
91
+ layout({
92
+ :cbSize => :DWORD,
93
+ :wzServiceTarget => :LPCWSTR,
94
+ :wzServicePolicy => :LPCWSTR,
95
+ :dwTokenFlags => :DWORD,
96
+ :dwTokenParam => :DWORD
97
+ })
98
+
99
+ def self.build(data, address = nil)
100
+ param = IDCRL::RSTParams.new(address)
101
+ param[:cbSize] = self.size
102
+ param[:wzServiceTarget] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServiceTarget].to_s))
103
+ param[:wzServicePolicy] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServicePolicy].to_s))
104
+ param[:dwTokenFlags] = 0
105
+ param[:dwTokenParam] = 0
106
+ param[:dwTokenFlags] = data[:TokenFlags] if data.has_key?(:TokenFlags)
107
+ param[:dwTokenParam] = data[:TokenParam] if data.has_key?(:TokenParam)
108
+ param
109
+ end
110
+ end
111
+
112
+ class PASSPORTCREDCUSTOMUI < FFI::Struct
113
+ layout({
114
+ :cElements => :LONG,
115
+ :customValues => :LPWSTR
116
+ })
117
+ end
118
+
119
+ class MultiRSTParams < FFI::Struct
120
+ layout({
121
+ :dwRSTParamsCount => :DWORD,
122
+ :pRSTParams => :pointer, # *RSTParams[]
123
+ :dwMultiRSTParamsFlags => :DWORD
124
+ })
125
+ end
126
+
127
+ class PassportCredUIInfo < FFI::Struct
128
+ layout({
129
+ :hwndParent => :HWND,
130
+ :ptPosition => IDCRL::POINT,
131
+ :szSize => IDCRL::SIZE,
132
+ :bShow => :BOOL
133
+ })
134
+ end
135
+
136
+ class SSO_UIParam < FFI::Struct
137
+ layout({
138
+ :cbsize => :DWORD,
139
+ :dwReserved => :DWORD,
140
+ :hwndParent => :HWND,
141
+ :pReserved => :UINT_PTR,
142
+ :wszServiceName => :LPCWSTR,
143
+ :rgbReserved => [:BYTE, 16],
144
+ :rghReserved => [:UINT_PTR, 45]
145
+ })
146
+ end
147
+
148
+ class CertSet < FFI::Struct
149
+ layout({
150
+ :pCertContext => :PCERT_CONTEXT,
151
+ :pCACertContext => :PCERT_CONTEXT,
152
+ :cbPOP => :DWORD,
153
+ :pbPOP => :PBYTE
154
+ })
155
+
156
+ def self.build
157
+ certSet = CertSet.new
158
+ certSet[:pCertContext] = FFI::MemoryPointer.new(:pointer)
159
+ certSet[:pCACertContext] = FFI::MemoryPointer.new(:pointer)
160
+ certSet[:cbPOP] = 0
161
+ certSet[:pbPOP] = FFI::MemoryPointer.new(:PBYTE)
162
+ certSet
163
+ end
164
+
165
+ def CertContext
166
+ @CertContext ||= CERT_CONTEXT.new(self[:pCertContext])
167
+ end
168
+
169
+ def CertContext= (certContext)
170
+ @CertContext = certContext
171
+ self[:pCertContext] = FFI::MemoryPointer.new(certContext)
172
+ end
173
+
174
+ def CACertContext
175
+ @CertContext ||= CERT_CONTEXT.new(self[:pCACertContext])
176
+ end
177
+
178
+ def CACertContext= (caCertContext)
179
+ @CACertContext = caCertContext
180
+ self[:pCACertContext] = FFI::MemoryPointer.new(caCertContext)
181
+ end
182
+
183
+ def POP
184
+ @POP ||= self[:pbPOP].read_string(self[:cbPOP])
185
+ end
186
+
187
+ def POP= (pop)
188
+ @POP = pop
189
+ self[:cbPOP] = pop.bytesize
190
+ self[:pbPOP] = FFI::MemoryPointer.from_string(pop)
191
+ end
192
+
193
+ end
194
+
195
+ class MD5Data < FFI::Struct
196
+ layout({
197
+ :szMD5Url => :LPWSTR,
198
+ :szPostData => :LPWSTR
199
+ })
200
+
201
+ def MD5Url
202
+ @MD5Url ||= read_wide_string(self[:szMD5Url])
203
+ end
204
+
205
+ def MD5Url= (md5Url)
206
+ @MD5Url = md5Url
207
+ self[:szMD5Url] = StringToWSTR(md5Url)
208
+ end
209
+
210
+ def PostData
211
+ @PostData ||= read_wide_string(self[:szPostData])
212
+ end
213
+
214
+ def PostData= (postData)
215
+ @PostData = postData
216
+ self[:szPostData] = StringToWSTR(postData)
217
+ end
218
+ end
219
+
220
+ class SHA1 < FFI::Struct
221
+ layout({
222
+ :szSHA1Url => :LPWSTR,
223
+ :szSHA1PostData => :LPWSTR
224
+ })
225
+
226
+ def SHA1Url
227
+ @SHA1Url ||= read_wide_string(self[:szSHA1Url])
228
+ end
229
+
230
+ def SHA1Url= (sha1Url)
231
+ @SHA1Url = sha1Url
232
+ self[:szSHA1Url] = StringToWSTR(sha1Url)
233
+ end
234
+
235
+ def SHA1PostData
236
+ @SHA1PostData ||= read_wide_string(self[:szSHA1PostData])
237
+ end
238
+
239
+ def SHA1PostData= (sha1PostData)
240
+ @SHA1PostData = sha1PostData
241
+ self[:szSHA1PostData] = StringToWSTR(sha1PostData)
242
+ end
243
+ end
244
+
245
+ class AuthState < FFI::Struct
246
+ layout({
247
+ :szToken => :LPWSTR,
248
+ :dwResultFlags => SERVICETOKENFLAGS,
249
+ :pbSessionKey => :LPWSTR,
250
+ :dwSessionKeyLength => :DWORD
251
+ })
252
+
253
+ def Token
254
+ @Token ||= read_wide_string(self[:szToken]) unless self[:szToken].null?
255
+ end
256
+
257
+ def Token= (token)
258
+ @Token = token
259
+ self[:szToken] = StringToWSTR(token)
260
+ end
261
+
262
+ def ResultFlags
263
+ self[:dwResultFlags]
264
+ end
265
+
266
+ def ResultFlags= (resultFlags)
267
+ self[:dwResultFlags] = resultFlags
268
+ end
269
+
270
+ def SessionKey
271
+ @SessionKey ||= read_wide_string(self[:pbSessionKey]) unless self[:pbSessionKey].null?
272
+ end
273
+
274
+ def SessionKey= (sessionKey)
275
+ @SessionKey = sessionKey
276
+ self[:pbSessionKey] = StringToWSTR(sessionKey)
277
+ end
278
+
279
+ def SessionKeyLength
280
+ self[:dwSessionKeyLength]
281
+ end
282
+
283
+ def SessionKeyLength= (sessionKeyLength)
284
+ self[:dwSessionKeyLength] = sessionKeyLength
285
+ end
286
+
287
+ def to_s
288
+ "Token: #{Token()}\n" +
289
+ "ResultFlags: #{ResultFlags()}\n" +
290
+ "SessionKey: #{SessionKey()}\n" +
291
+ "SessionKeyLength: #{SessionKeyLength()}"
292
+ end
293
+ end
294
+
295
+ end
296
+ end
297
+ end