LiveIdentity 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +8 -8
- data/.yardopts +1 -1
- data/lib/live_identity.rb +14 -7
- data/lib/live_identity/idcrl.rb +145 -139
- data/lib/live_identity/idcrl/constants.rb +22 -22
- data/lib/live_identity/idcrl/enums.rb +134 -134
- data/lib/live_identity/idcrl/hresult.rb +221 -221
- data/lib/live_identity/idcrl/structs.rb +297 -298
- data/lib/live_identity/version.rb +2 -1
- data/live_identity.gemspec +3 -2
- metadata +28 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48a576a5eac48b33b28d8b3b465de0f906097981
|
4
|
+
data.tar.gz: 92f4af2aa84f98ae5255ea601f45f3b23c0296d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a65dbe6981aee8aa22fab4ef879f2e639e12133a8454ccc35354da8c2d60365e43b0eac0d56363897a3ccce7e866c149dd7d8967d2d66159642d00cc25e3c219
|
7
|
+
data.tar.gz: c544d73c4760fdd091ca339f2d591f7339eb1d41c7e6f238815307659246b45dd05ffac9cb56ef8969e0ed62b3815780aab8ff323d1250fe629127366914b9e2
|
data/.travis.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.1.1
|
4
|
-
- 2.0.0
|
5
|
-
- ruby-head
|
6
|
-
matrix:
|
7
|
-
allow_failures:
|
8
|
-
- rvm: ruby-head
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.1.1
|
4
|
+
- 2.0.0
|
5
|
+
- ruby-head
|
6
|
+
matrix:
|
7
|
+
allow_failures:
|
8
|
+
- rvm: ruby-head
|
data/.yardopts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
--markup markdown
|
1
|
+
--markup markdown
|
data/lib/live_identity.rb
CHANGED
@@ -57,7 +57,12 @@ class LiveIdentity
|
|
57
57
|
raise errorText
|
58
58
|
end
|
59
59
|
|
60
|
+
def self.isAvailable?
|
61
|
+
defined?(IDCRL.InitializeEx)
|
62
|
+
end
|
63
|
+
|
60
64
|
def initialize(guid, version, flags, options)
|
65
|
+
raise 'IDCRL isn\'t available!' unless LiveIdentity::isAvailable?
|
61
66
|
guidClientApplication = IDCRL::GUID.new
|
62
67
|
guidClientApplication.from_str(guid)
|
63
68
|
lPPCRLVersion = version
|
@@ -575,13 +580,15 @@ class LiveIdentity
|
|
575
580
|
end
|
576
581
|
|
577
582
|
class Service
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
def initialize(authState)
|
582
|
-
|
583
|
-
|
584
|
-
|
583
|
+
attr_accessor :Token
|
584
|
+
attr_accessor :ResultFlags
|
585
|
+
attr_accessor :SessionKey
|
586
|
+
def initialize(authState = nil)
|
587
|
+
if authState
|
588
|
+
@Token = authState.Token()
|
589
|
+
@ResultFlags = authState.ResultFlags()
|
590
|
+
@SessionKey = authState.SessionKey()
|
591
|
+
end
|
585
592
|
end
|
586
593
|
end
|
587
594
|
end
|
data/lib/live_identity/idcrl.rb
CHANGED
@@ -40,155 +40,161 @@ end
|
|
40
40
|
class LiveIdentity
|
41
41
|
include IDCRL::Constants
|
42
42
|
module IDCRL
|
43
|
-
|
44
|
-
if not defined?(LibIDCRL)
|
45
|
-
#if IsWin8
|
46
|
-
LibIDCRL = 'msidcrl40'
|
47
|
-
#else
|
48
|
-
# LibIDCRL = 'msidcrl30'
|
49
|
-
#end
|
50
|
-
end
|
43
|
+
|
51
44
|
extend FFI::Library
|
52
|
-
# http://msdn.microsoft.com/en-us/library/hh472108.aspx
|
53
|
-
ffi_lib LibIDCRL
|
54
|
-
ffi_convention :stdcall
|
55
45
|
|
56
46
|
include WinCommon::Structs
|
57
47
|
include WinCommon::Crypt::Structs
|
58
48
|
include Enums
|
59
49
|
|
60
|
-
|
61
|
-
|
50
|
+
if defined?(WinCommon::Functions)
|
51
|
+
IsWin8 = WinCommon::Functions::IsWindows8OrGreater?
|
52
|
+
if not defined?(LibIDCRL)
|
53
|
+
#if IsWin8
|
54
|
+
LibIDCRL = 'msidcrl40'
|
55
|
+
#else
|
56
|
+
# LibIDCRL = 'msidcrl30'
|
57
|
+
#end
|
58
|
+
end
|
59
|
+
|
60
|
+
# http://msdn.microsoft.com/en-us/library/hh472108.aspx
|
61
|
+
ffi_lib LibIDCRL
|
62
|
+
ffi_convention :stdcall
|
62
63
|
|
63
|
-
|
64
|
-
|
65
|
-
FFI::typedef :pointer, :PassportEnumIdentitiesHandlePointer
|
66
|
-
FFI::typedef :size_t, :PassportEnumIdentitiesHandle
|
67
|
-
FFI::typedef :pointer, :PassportUIAuthContextHandlePointer
|
68
|
-
FFI::typedef :size_t, :PassportUIAuthContextHandle
|
69
|
-
FFI::typedef :pointer, :PIDCRL_OPTION
|
70
|
-
FFI::typedef :pointer, :PCRSTParams
|
64
|
+
require_relative 'idcrl/structs'
|
65
|
+
include Structs
|
71
66
|
|
72
|
-
|
73
|
-
|
67
|
+
FFI::typedef :pointer, :PassportIdentityHandlePointer
|
68
|
+
FFI::typedef :size_t, :PassportIdentityHandle
|
69
|
+
FFI::typedef :pointer, :PassportEnumIdentitiesHandlePointer
|
70
|
+
FFI::typedef :size_t, :PassportEnumIdentitiesHandle
|
71
|
+
FFI::typedef :pointer, :PassportUIAuthContextHandlePointer
|
72
|
+
FFI::typedef :size_t, :PassportUIAuthContextHandle
|
73
|
+
FFI::typedef :pointer, :PIDCRL_OPTION
|
74
|
+
FFI::typedef :pointer, :PCRSTParams
|
74
75
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
attach_function :
|
85
|
-
attach_function :
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
attach_function :
|
106
|
-
attach_function :
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
attach_function :
|
117
|
-
attach_function :
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
attach_function :
|
177
|
-
attach_function :
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
76
|
+
callback :cbIdentityChangedCallback, [:PassportIdentityHandle, :LPVOID, :BOOL], :HRESULT
|
77
|
+
callback :cbUserStateChangedCallback, [:DWORD, :LPVOID ], :VOID
|
78
|
+
|
79
|
+
attach_function :Initialize, [ :REFGUID, :LONG, UPDATE_FLAG ], :HRESULT
|
80
|
+
attach_function :Uninitialize, [], :HRESULT
|
81
|
+
attach_function :PassportFreeMemory, [ :LPVOID ], :HRESULT
|
82
|
+
attach_function :CreateIdentityHandle, [ :LPCWSTR, IDENTITY_FLAG, :PassportIdentityHandlePointer ], :HRESULT
|
83
|
+
attach_function :SetCredential, [ :PassportIdentityHandle, :LPCWSTR, :LPCWSTR ], :HRESULT
|
84
|
+
attach_function :GetIdentityProperty, [ :PassportIdentityHandle, PASSPORTIDENTITYPROPERTY, :PLPWSTR ], :HRESULT
|
85
|
+
attach_function :SetIdentityProperty, [ :PassportIdentityHandle, PASSPORTIDENTITYPROPERTY, :LPCWSTR ], :HRESULT
|
86
|
+
attach_function :CloseIdentityHandle, [ :PassportIdentityHandle ], :HRESULT
|
87
|
+
if (LibIDCRL == 'msidcrl30')
|
88
|
+
attach_function :CreatePassportAuthUIContext, [ PassportCredUIInfo, PASSPORTCREDCUSTOMUI, :PassportUIAuthContextHandlePointer ], :HRESULT
|
89
|
+
attach_function :GetPreferredAuthUIContextSize, [ :PassportIdentityHandle, :PSIZE ], :HRESULT
|
90
|
+
attach_function :MoveAuthUIContext, [ :PassportUIAuthContextHandle, POINT, SIZE ], :HRESULT
|
91
|
+
attach_function :DestroyPassportAuthUIContext, [ :PassportUIAuthContextHandle ], :HRESULT
|
92
|
+
end
|
93
|
+
attach_function :AuthIdentityToService, [ :PassportIdentityHandle, :LPCWSTR, :LPCWSTR, SERVICETOKENFLAGS, :PLPWSTR, :PDWORD, :PLPWSTR, :PDWORD ], :HRESULT
|
94
|
+
attach_function :PersistCredential, [ :PassportIdentityHandle, :LPCWSTR ], :HRESULT
|
95
|
+
attach_function :RemovePersistedCredential, [ :PassportIdentityHandle, :LPCWSTR ], :HRESULT
|
96
|
+
attach_function :EnumIdentitiesWithCachedCredentials, [ :LPCWSTR, :PassportEnumIdentitiesHandlePointer ], :HRESULT
|
97
|
+
attach_function :NextIdentity, [ :PassportEnumIdentitiesHandle, :PLPWSTR ], :HRESULT
|
98
|
+
attach_function :CloseEnumIdentitiesHandle, [ :PassportEnumIdentitiesHandle ], :HRESULT
|
99
|
+
attach_function :GetAuthState, [ :PassportIdentityHandle, :PHRESULT, :PHRESULT, :PHRESULT, :LPWSTR ], :HRESULT
|
100
|
+
attach_function :LogonIdentity, [ :PassportIdentityHandle, :LPCWSTR, LOGON_FLAG ], :HRESULT
|
101
|
+
#if (LibIDCRL == 'msidcrl30')
|
102
|
+
# attach_function :LogonIdentityWithUI [ :PassportUIAuthContextHandle, LOGON_FLAG ], :HRESULT
|
103
|
+
#elsif (LibIDCRL == '')
|
104
|
+
# attach_function :LogonIdentityWithUI [ :PassportUIAuthContextHandle, :PassportIdentityHandle, :LPCWSTR, LOGON_FLAG ], :HRESULT
|
105
|
+
#end
|
106
|
+
attach_function :HasPersistedCredential, [ :PassportIdentityHandle, :LPCWSTR, :PLONG ], :HRESULT
|
107
|
+
attach_function :SetIdentityCallback, [ :PassportIdentityHandle, :cbIdentityChangedCallback, :LPVOID ], :HRESULT
|
108
|
+
if (LibIDCRL == 'msidcrl30')
|
109
|
+
attach_function :BuildAuthTokenRequest, [ :PassportIdentityHandle, :LPCWSTR, :DWORD, :PLPWSTR ], :HRESULT
|
110
|
+
attach_function :BuildServiceTokenRequest, [ :PassportIdentityHandle, :LPCWSTR, :LPCWSTR, :DWORD, :LPWSTR ], :HRESULT
|
111
|
+
attach_function :PutTokenResponse, [ ], :HRESULT # TODO
|
112
|
+
end
|
113
|
+
attach_function :InitializeEx, [ :REFGUID, :LONG, UPDATE_FLAG, :PIDCRL_OPTION, :DWORD ], :HRESULT
|
114
|
+
attach_function :GetWebAuthUrl, [ :PassportIdentityHandle, :LPCWSTR, :LPCWSTR, :LPCWSTR, :LPCWSTR, :PLPWSTR, :PLPWSTR ], :HRESULT
|
115
|
+
attach_function :LogonIdentityEx, [ :PassportIdentityHandle, :LPCWSTR, LOGON_FLAG, :PCRSTParams, :DWORD ], :HRESULT
|
116
|
+
attach_function :AuthIdentityToServiceEx, [ :PassportIdentityHandle, :DWORD, :PCRSTParams, :DWORD ], :HRESULT
|
117
|
+
attach_function :GetAuthStateEx, [ :PassportIdentityHandle, :LPCWSTR, :PHRESULT, :PHRESULT, :PHRESULT, :LPWSTR ], :HRESULT
|
118
|
+
attach_function :GetCertificate, [ :PassportIdentityHandle, RSTParams, :PDWORD, :DWORD, :PCERT_CONTEXT, :LPVOID, :PDWORD, :PCERT_CONTEXT ], :HRESULT
|
119
|
+
if (LibIDCRL == 'msidcrl30')
|
120
|
+
attach_function :BuildServiceTokenRequestEx, [ ], :HRESULT # TODO
|
121
|
+
attach_function :BuildAuthTokenRequestEx, [ ], :HRESULT # TODO
|
122
|
+
end
|
123
|
+
attach_function :CancelPendingRequest, [ :PassportIdentityHandle ], :HRESULT
|
124
|
+
attach_function :PutTokenResponseEx, [ :PassportIdentityHandle, :DWORD, :LPCWSTR ], :HRESULT if (LibIDCRL == 'msidcrl30')
|
125
|
+
attach_function :VerifyCertificate, [ CERT_CONTEXT, :PDWORD, :PBYTE, :DWORD, :PCERT_CONTEXT ], :HRESULT
|
126
|
+
attach_function :GetIdentityPropertyByName, [ :PassportIdentityHandle, :LPWSTR, :PLPWSTR ], :HRESULT
|
127
|
+
#if (LibIDCRL == '')
|
128
|
+
#attach_function :CreateIdentityHandleFromAuthState, [ :LPCWSTR, IDENTITY_FLAG, :PassportIdentityHandlePointer ], :HRESULT
|
129
|
+
#attach_function :ExportAuthState, [ :PassportIdentityHandle, :DWORD, :PLPWSTR ], :HRESULT
|
130
|
+
#attach_function :CacheAuthState, [ :PassportIdentityHandle, :LPCWSTR, :DWORD ], :HRESULT
|
131
|
+
#attach_function :RemoveAuthStateFromCache, [ :LPCWSTR, :LPCWSTR, :DWORD ], :HRESULT
|
132
|
+
#attach_function :CreateIdentityHandleFromCachedAuthState, [ :LPCWSTR, :LPCWSTR, IDENTITY_FLAG, :PassportIdentityHandlePointer ], :HRESULT
|
133
|
+
#end
|
134
|
+
if (LibIDCRL == 'msidcrl40')
|
135
|
+
attach_function :SetExtendedProperty, [ :LPCWSTR, :LPCWSTR ], :HRESULT
|
136
|
+
attach_function :GetExtendedProperty, [ :LPCWSTR, :PLPWSTR ], :HRESULT
|
137
|
+
attach_function :GetServiceConfig, [ :LPCWSTR, :PLPWSTR ], :HRESULT
|
138
|
+
#attach_function :MigratePersistedCredentials, [ :REFGUID, :BOOL, :PDWORD ], :HRESULT if (LibIDCRL == '')
|
139
|
+
attach_function :SetIdcrlOptions, [ :PIDCRL_OPTION, :DWORD, UPDATE_FLAG ], :HRESULT
|
140
|
+
attach_function :GetWebAuthUrlEx, [ :PassportIdentityHandle, IDCRL_WEBAUTHOPTION, :LPCWSTR, :LPCWSTR, :LPCWSTR, :PLPWSTR, :PLPWSTR ], :HRESULT
|
141
|
+
attach_function :EncryptWithSessionKey, [ :PassportIdentityHandle, :LPCWSTR, :DWORD, :DWORD, :LPVOID, :DWORD, :PBYTE, :PDWORD ], :HRESULT
|
142
|
+
attach_function :DecryptWithSessionKey, [ :PassportIdentityHandle, :LPCWSTR, :DWORD, :DWORD, :PBYTE, :DWORD, :LPVOID, :PDWORD ], :HRESULT
|
143
|
+
attach_function :SetUserExtendedProperty, [ :LPCWSTR, :LPCWSTR, :LPCWSTR ], :HRESULT
|
144
|
+
attach_function :GetUserExtendedProperty, [ :LPCWSTR, :LPCWSTR, :PLPWSTR ], :HRESULT
|
145
|
+
attach_function :SetChangeNotificationCallback, [ :LPCWSTR, :DWORD, :cbUserStateChangedCallback ], :HRESULT
|
146
|
+
attach_function :RemoveChangeNotificationCallback, [], :HRESULT
|
147
|
+
attach_function :GetExtendedError, [ :PassportIdentityHandle, :LPVOID, :PDWORD, :PDWORD, :LPWSTR ], :HRESULT
|
148
|
+
attach_function :InitializeApp, [ ], :HRESULT # TODO
|
149
|
+
attach_function :EnumerateCertificates, [ ], :HRESULT # TODO
|
150
|
+
attach_function :GenerateCertToken, [ ], :HRESULT # TODO
|
151
|
+
attach_function :GetDeviceId, [ ], :HRESULT # TODO
|
152
|
+
attach_function :SetDeviceConsent, [ ], :HRESULT # TODO
|
153
|
+
attach_function :GenerateDeviceToken, [ ], :HRESULT # TODO
|
154
|
+
attach_function :CreateLinkedIdentityHandle, [ ], :HRESULT # TODO
|
155
|
+
attach_function :IsDeviceIDAdmin, [ ], :HRESULT # TODO
|
156
|
+
attach_function :EnumerateDeviceID, [ ], :HRESULT # TODO
|
157
|
+
attach_function :GetAssertion, [ ], :HRESULT # TODO
|
158
|
+
attach_function :VerifyAssertion, [ ], :HRESULT # TODO
|
159
|
+
attach_function :OpenAuthenticatedBrowser, [ ], :HRESULT # TODO
|
160
|
+
attach_function :LogonIdentityExWithUI, [ ], :HRESULT # TODO
|
161
|
+
attach_function :GetResponseForHttpChallenge, [ ], :HRESULT # TODO
|
162
|
+
attach_function :GetDeviceShortLivedToken, [ ], :HRESULT # TODO
|
163
|
+
attach_function :GetHIPChallenge, [ ], :HRESULT # TODO
|
164
|
+
attach_function :SetHIPSolution, [ ], :HRESULT # TODO
|
165
|
+
attach_function :SetDefaultUserForTarget, [ ], :HRESULT # TODO
|
166
|
+
attach_function :GetDefaultUserForTarget, [ ], :HRESULT # TODO
|
167
|
+
attach_function :UICollectCredential, [ ], :HRESULT # TODO
|
168
|
+
attach_function :AssociateDeviceToUser, [ ], :HRESULT # TODO
|
169
|
+
attach_function :DisassociateDeviceFromUser, [ ], :HRESULT # TODO
|
170
|
+
attach_function :EnumerateUserAssociatedDevices, [ ], :HRESULT # TODO
|
171
|
+
attach_function :UpdateUserAssociatedDeviceProperties, [ ], :HRESULT # TODO
|
172
|
+
attach_function :UIShowWaitDialog, [ ], :HRESULT # TODO
|
173
|
+
attach_function :UIEndWaitDialog, [ ], :HRESULT # TODO
|
174
|
+
attach_function :InitializeIDCRLTraceBuffer, [ ], :HRESULT # TODO
|
175
|
+
attach_function :FlushIDCRLTraceBuffer, [ ], :HRESULT # TODO
|
176
|
+
attach_function :IsMappedError, [ ], :HRESULT # TODO
|
177
|
+
attach_function :GetAuthenticationStatus, [ :PassportIdentityHandle, :LPCWSTR, :DWORD, :LPVOID ], :HRESULT
|
178
|
+
attach_function :GetConfigDWORDValue, [ ], :HRESULT # TODO
|
179
|
+
if IsWin8
|
180
|
+
attach_function :ProvisionDeviceId, [ ], :HRESULT # TODO
|
181
|
+
attach_function :GetDeviceIdEx, [ ], :HRESULT # TODO
|
182
|
+
attach_function :RenewDeviceId, [ ], :HRESULT # TODO
|
183
|
+
attach_function :DeProvisionDeviceId, [ ], :HRESULT # TODO
|
184
|
+
attach_function :UnPackErrorBlob, [ ], :HRESULT # TODO
|
185
|
+
attach_function :GetDefaultNoUISSOUser, [ ], :HRESULT # TODO
|
186
|
+
attach_function :LogonIdentityExSSO, [ :PassportIdentityHandle, :LPCWSTR, LOGON_FLAG, :DWORD, SSO_UIParam, :PCRSTParams, :DWORD ], :HRESULT
|
187
|
+
attach_function :StartTracing, [ ], :HRESULT # TODO
|
188
|
+
attach_function :StopTracing, [ ], :HRESULT # TODO
|
189
|
+
attach_function :GetRealmInfo, [ ], :HRESULT # TODO
|
190
|
+
attach_function :CreateIdentityHandleEx, [ :LPCWSTR, IDENTITY_FLAG, :DWORD, :PassportIdentityHandlePointer ], :HRESULT
|
191
|
+
attach_function :AddUserToSsoGroup, [ ], :HRESULT # TODO
|
192
|
+
attach_function :GetUsersFromSsoGroup, [ ], :HRESULT # TODO
|
193
|
+
attach_function :RemoveUserFromSsoGroup, [ ], :HRESULT # TODO
|
194
|
+
attach_function :SendOneTimeCode, [ ], :HRESULT # TODO
|
195
|
+
end
|
191
196
|
end
|
192
197
|
end
|
193
198
|
end
|
194
199
|
end
|
200
|
+
|
@@ -1,22 +1,22 @@
|
|
1
|
-
class LiveIdentity
|
2
|
-
module IDCRL
|
3
|
-
module Constants
|
4
|
-
MaxLiveIDLength = 113
|
5
|
-
MaxLivePasswordLength = 31
|
6
|
-
|
7
|
-
PPCRL_CREDTYPE_MEMBERNAMEONLY = 'ps:membernameonly'
|
8
|
-
PPCRL_CREDTYPE_PASSWORD = 'ps:password'
|
9
|
-
PPCRL_CREDTYPE_ACTIVE = 'ps:active'
|
10
|
-
PPCRL_CREDTYPE_VIRUTUALAPP = 'ps:virtualapp'
|
11
|
-
PPCRL_PROPERTY_FEDERATIONBRANDNAME = 'FederationBrandName'
|
12
|
-
PPCRL_CREDPROPERTY_ISDOMAINUSER = 'IsDomainUser'
|
13
|
-
PPCRL_CREDPROPERTY_BRANDIDLIST = 'BrandIDList'
|
14
|
-
PPCRL_CREDPROPERTY_CID = 'CID'
|
15
|
-
PPCRL_CREDPROPERTY_ISWINLIVEUSER = 'IsWinLiveUser'
|
16
|
-
PPCRL_CREDPROPERTY_MAINBRANDID = 'MainBrandID'
|
17
|
-
PPCRL_CREDPROPERTY_MEMBER_NAME = 'MemberName'
|
18
|
-
PPCRL_CREDPROPERTY_ONETIMECREDENTIAL = 'OneTimeCredential'
|
19
|
-
PPCRL_CREDPROPERTY_PUIDSTR = 'PUID'
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
1
|
+
class LiveIdentity
|
2
|
+
module IDCRL
|
3
|
+
module Constants
|
4
|
+
MaxLiveIDLength = 113
|
5
|
+
MaxLivePasswordLength = 31
|
6
|
+
|
7
|
+
PPCRL_CREDTYPE_MEMBERNAMEONLY = 'ps:membernameonly'
|
8
|
+
PPCRL_CREDTYPE_PASSWORD = 'ps:password'
|
9
|
+
PPCRL_CREDTYPE_ACTIVE = 'ps:active'
|
10
|
+
PPCRL_CREDTYPE_VIRUTUALAPP = 'ps:virtualapp'
|
11
|
+
PPCRL_PROPERTY_FEDERATIONBRANDNAME = 'FederationBrandName'
|
12
|
+
PPCRL_CREDPROPERTY_ISDOMAINUSER = 'IsDomainUser'
|
13
|
+
PPCRL_CREDPROPERTY_BRANDIDLIST = 'BrandIDList'
|
14
|
+
PPCRL_CREDPROPERTY_CID = 'CID'
|
15
|
+
PPCRL_CREDPROPERTY_ISWINLIVEUSER = 'IsWinLiveUser'
|
16
|
+
PPCRL_CREDPROPERTY_MAINBRANDID = 'MainBrandID'
|
17
|
+
PPCRL_CREDPROPERTY_MEMBER_NAME = 'MemberName'
|
18
|
+
PPCRL_CREDPROPERTY_ONETIMECREDENTIAL = 'OneTimeCredential'
|
19
|
+
PPCRL_CREDPROPERTY_PUIDSTR = 'PUID'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,134 +1,134 @@
|
|
1
|
-
class LiveIdentity
|
2
|
-
module IDCRL
|
3
|
-
module Enums
|
4
|
-
def self.included(base)
|
5
|
-
|
6
|
-
base.const_set(:UPDATE_FLAG, base.enum(
|
7
|
-
:DEFAULT_UPDATE_POLICY, 0x00000000,
|
8
|
-
:UPDATE_DEFAULT, 0x00000000,
|
9
|
-
:OFFLINE_MODE_ALLOWED, 0x00000001,
|
10
|
-
:NO_UI, 0x00000002,
|
11
|
-
:SKIP_CONNECTION_CHECK, 0x00000004,
|
12
|
-
:SET_EXTENDED_ERROR, 0x00000008,
|
13
|
-
:SET_INITIALIZATION_COOKIES, 0x00000010,
|
14
|
-
:UPDATE_FLAG_ALL_BIT, 0x0000001F))
|
15
|
-
|
16
|
-
base.const_set(:WLIDUI_FLAG, base.enum(
|
17
|
-
:WLIDUI_DEFAULT, 0x0000,
|
18
|
-
:WLIDUI_DISABLE_REMEBERME, 0x0001,
|
19
|
-
:WLIDUI_DISABLE_SAVEPASSWORD, 0x0002,
|
20
|
-
:WLIDUI_DISABLE_DIFFERENTUSER, 0x0004,
|
21
|
-
:WLIDUI_DISABLE_EID, 0x0020,
|
22
|
-
:WLIDUI_DISABLE_SIGNUPLINK, 0x0040,
|
23
|
-
:WLIDUI_DISABLE_SAVEDUSERS, 0x0080,
|
24
|
-
:WLIDUI_FORCE_SAVEPASSWORD, 0x0100,
|
25
|
-
:WLIDUI_FORCE_SMARTCARD, 0x0200,
|
26
|
-
:WLIDUI_ALL_BIT, 0x03FF))
|
27
|
-
|
28
|
-
base.const_set(:SERVICETOKENFLAGS, base.enum(
|
29
|
-
:SERVICE_TOKEN_REQUEST_TYPE_NONE, 0x00000000,
|
30
|
-
:SERVICE_TOKEN_TYPE_LEGACY_PASSPORT, 0x00000001,
|
31
|
-
:SERVICE_TOKEN_TYPE_WEBSSO, 0x00000002,
|
32
|
-
:SERVICE_TOKEN_TYPE_SAML, 0x00000002,
|
33
|
-
:SERVICE_TOKEN_TYPE_COMPACT_WEBSSO, 0x00000004,
|
34
|
-
:SERVICE_TOKEN_TYPE_X509V3, 0x00000008,
|
35
|
-
:SERVICE_TOKEN_REQUEST_TYPE_X509V3, 0x00000008,
|
36
|
-
:SERVICE_TOKEN_CERT_IN_MEMORY_PRIVATE_KEY, 0x00000010,
|
37
|
-
:SERVICE_TOKEN_TYPE_ANY, 0x000000FF,
|
38
|
-
:SERVICE_TOKEN_FROM_CACHE, 0x00010000))
|
39
|
-
|
40
|
-
base.const_set(:IDCRL_OPTION_ID, base.enum(
|
41
|
-
:IDCRL_OPTION_PROXY, 0x00000001,
|
42
|
-
:IDCRL_OPTION_CONNECT_TIMEOUT, 0x00000002,
|
43
|
-
:IDCRL_OPTION_SEND_TIMEOUT, 0x00000004,
|
44
|
-
:IDCRL_OPTION_RECEIVE_TIMEOUT, 0x00000008,
|
45
|
-
:IDCRL_OPTION_PROXY_PASSWORD, 0x00000010,
|
46
|
-
:IDCRL_OPTION_PROXY_USERNAME, 0x00000020,
|
47
|
-
:IDCRL_OPTION_ENVIRONMENT, 0x00000040,
|
48
|
-
:IDCRL_OPTION_ALL_BIT, 0x0000007F,
|
49
|
-
:IDCRL_OPTION_MSC_TIMEOUT, 0x00000080))
|
50
|
-
|
51
|
-
base.const_set(:IDCRL_DEVICE_CONSENT_OPTIONS, base.enum(
|
52
|
-
:IDCRL_DEVICE_ID_CONSENT_MIN, 0,
|
53
|
-
:IDCRL_DEVICE_ID_CONSENT_GRANT, 1,
|
54
|
-
:IDCRL_DEVICE_ID_CONSENT_REVOKE, 2,
|
55
|
-
:IDCRL_DEVICE_ID_CONSENT_REMOVE, 3,
|
56
|
-
:IDCRL_DEVICE_ID_CONSENT_MAX, 4))
|
57
|
-
|
58
|
-
base.const_set(:IDCRL_DEVICE_ID_OPTIONS, base.enum(
|
59
|
-
:IDCRL_DEVICE_ID_PHYSICAL, 0x0008,
|
60
|
-
:IDCRL_DEVICE_ID_FROMCACHE, 0x0010,
|
61
|
-
:IDCRL_DEVICE_ID_ACCESSCHECK, 0x0020,
|
62
|
-
:IDCRL_DEVICE_ID_NO_SIGNUP, 0x0100,
|
63
|
-
:IDCRL_DEVICE_ID_RENEW_CERT, 0x0200))
|
64
|
-
|
65
|
-
base.const_set(:LOGON_FLAG, base.enum(
|
66
|
-
:LOGONIDENTITY_DEFAULT, 0x0000,
|
67
|
-
:LOGONIDENTITY_ALLOW_OFFLINE, 0x0001,
|
68
|
-
:LOGONIDENTITY_FORCE_OFFLINE, 0x0002,
|
69
|
-
:LOGONIDENTITY_CREATE_OFFLINE_HASH, 0x0004,
|
70
|
-
:LOGONIDENTITY_ALLOW_PERSISTENT_COOKIES, 0x0008,
|
71
|
-
:LOGONIDENTITY_USE_EID_AUTH, 0x0010,
|
72
|
-
:LOGONIDENTITY_USE_LINKED_ACCOUNTS, 0x0020,
|
73
|
-
:LOGONIDENTITY_FEDERATED, 0x0040,
|
74
|
-
:LOGONIDENTITY_WLID, 0x0080,
|
75
|
-
:LOGONIDENTITY_AUTO_PARTNER_REDIRECT, 0x0100,
|
76
|
-
:LOGONIDENTITY_IGNORE_CACHED_TOKENS, 0x0200,
|
77
|
-
:LOGONIDENTITY_RESERVED_1, 0x0400,
|
78
|
-
:LOGONIDENTITY_ALL_BIT, 0x07FF,
|
79
|
-
:LOGONIDENTITY_USE_SINGLEUSECODE, 0x0800))
|
80
|
-
|
81
|
-
base.const_set(:IDCRL_ERROR_CATEGORY, base.enum(
|
82
|
-
:IDCRL_UNKNOWN_ERROR_CATEGORY, 0x00000000,
|
83
|
-
:IDCRL_REQUEST_BUILD_ERROR, 0x00000001,
|
84
|
-
:IDCRL_REQUEST_SEND_ERROR, 0x00000002,
|
85
|
-
:IDCRL_RESPONSE_RECEIVE_ERROR, 0x00000003,
|
86
|
-
:IDCRL_RESPONSE_READ_ERROR, 0x00000004,
|
87
|
-
:IDCRL_REPSONSE_PARSE_ERROR, 0x00000005,
|
88
|
-
:IDCRL_RESPONSE_SIG_DECRYPT_ERROR, 0x00000006,
|
89
|
-
:IDCRL_RESPONSE_PARSE_HEADER_ERROR, 0x00000007,
|
90
|
-
:IDCRL_RESPONSE_PARSE_TOKEN_ERROR, 0x00000008,
|
91
|
-
:IDCRL_RESPONSE_PUTCERT_ERROR, 0x00000009,
|
92
|
-
:IDCRL_UNKNOWN_ERROR_CATEGORY2, 0x0000000a))
|
93
|
-
|
94
|
-
base.const_set(:PASSPORTIDENTITYPROPERTY, base.enum(
|
95
|
-
:IDENTITY_MEMBER_NAME, 1,
|
96
|
-
:IDENTITY_PUIDSTR, 2))
|
97
|
-
|
98
|
-
base.const_set(:SSO_FLAG, base.enum(
|
99
|
-
:SSO_DEFAULT, 0x00,
|
100
|
-
:SSO_NO_UI, 0x01,
|
101
|
-
:SSO_NO_AUTO_SIGNIN, 0x02,
|
102
|
-
:SSO_NO_HANDLE_ERROR, 0x04,
|
103
|
-
:SSO_ALL_BIT, 0x0F))
|
104
|
-
|
105
|
-
base.const_set(:IDCRL_SETOPTIONS_FLAG, base.enum(
|
106
|
-
:IDCRL_SETOPTIONS_SET, 0x00,
|
107
|
-
:IDCRL_SETOPTIONS_DEFAULT, 0x00,
|
108
|
-
:IDCRL_SETOPTIONS_RESET, 0x01))
|
109
|
-
|
110
|
-
base.const_set(:IDCRL_USER_DEVICE_ASSOCIATION_TYPE, base.enum(
|
111
|
-
:IDCRL_USER_DEVICE_SYSTEM, 0,
|
112
|
-
:IDCRL_USER_DEVICE_APP, 1))
|
113
|
-
|
114
|
-
base.const_set(:CERTREQUESTFLAGS, base.enum(
|
115
|
-
:CERT_FROM_CACHE, 0x00010000,
|
116
|
-
:CERT_FROM_SERVER, 0x00020000))
|
117
|
-
|
118
|
-
base.const_set(:IDENTITY_FLAG, base.enum(
|
119
|
-
:IDENTITY_SHARE_ALL, 0x000000FF,
|
120
|
-
:IDENTITY_LOAD_FROM_PERSISTED_STORE, 0x00000100,
|
121
|
-
:IDENTITY_AUTHSTATE_ENCRYPTED, 0x00000200,
|
122
|
-
:IDENTITY_FAST_CLOSE, 0x00000400,
|
123
|
-
:IDENTITY_DEVICEID_LOGICAL, 0x00001000,
|
124
|
-
:IDENTITY_ALL_BIT, 0x00001FFF))
|
125
|
-
|
126
|
-
base.const_set(:IDCRL_WEBAUTHOPTION, base.enum(
|
127
|
-
:IDCRL_WEBAUTH_NONE, 0,
|
128
|
-
:IDCRL_WEBAUTH_REAUTH, 1,
|
129
|
-
:IDCRL_WEBAUTH_PERSISTENT, 2))
|
130
|
-
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
1
|
+
class LiveIdentity
|
2
|
+
module IDCRL
|
3
|
+
module Enums
|
4
|
+
def self.included(base)
|
5
|
+
|
6
|
+
base.const_set(:UPDATE_FLAG, base.enum(
|
7
|
+
:DEFAULT_UPDATE_POLICY, 0x00000000,
|
8
|
+
:UPDATE_DEFAULT, 0x00000000,
|
9
|
+
:OFFLINE_MODE_ALLOWED, 0x00000001,
|
10
|
+
:NO_UI, 0x00000002,
|
11
|
+
:SKIP_CONNECTION_CHECK, 0x00000004,
|
12
|
+
:SET_EXTENDED_ERROR, 0x00000008,
|
13
|
+
:SET_INITIALIZATION_COOKIES, 0x00000010,
|
14
|
+
:UPDATE_FLAG_ALL_BIT, 0x0000001F))
|
15
|
+
|
16
|
+
base.const_set(:WLIDUI_FLAG, base.enum(
|
17
|
+
:WLIDUI_DEFAULT, 0x0000,
|
18
|
+
:WLIDUI_DISABLE_REMEBERME, 0x0001,
|
19
|
+
:WLIDUI_DISABLE_SAVEPASSWORD, 0x0002,
|
20
|
+
:WLIDUI_DISABLE_DIFFERENTUSER, 0x0004,
|
21
|
+
:WLIDUI_DISABLE_EID, 0x0020,
|
22
|
+
:WLIDUI_DISABLE_SIGNUPLINK, 0x0040,
|
23
|
+
:WLIDUI_DISABLE_SAVEDUSERS, 0x0080,
|
24
|
+
:WLIDUI_FORCE_SAVEPASSWORD, 0x0100,
|
25
|
+
:WLIDUI_FORCE_SMARTCARD, 0x0200,
|
26
|
+
:WLIDUI_ALL_BIT, 0x03FF))
|
27
|
+
|
28
|
+
base.const_set(:SERVICETOKENFLAGS, base.enum(
|
29
|
+
:SERVICE_TOKEN_REQUEST_TYPE_NONE, 0x00000000,
|
30
|
+
:SERVICE_TOKEN_TYPE_LEGACY_PASSPORT, 0x00000001,
|
31
|
+
:SERVICE_TOKEN_TYPE_WEBSSO, 0x00000002,
|
32
|
+
:SERVICE_TOKEN_TYPE_SAML, 0x00000002,
|
33
|
+
:SERVICE_TOKEN_TYPE_COMPACT_WEBSSO, 0x00000004,
|
34
|
+
:SERVICE_TOKEN_TYPE_X509V3, 0x00000008,
|
35
|
+
:SERVICE_TOKEN_REQUEST_TYPE_X509V3, 0x00000008,
|
36
|
+
:SERVICE_TOKEN_CERT_IN_MEMORY_PRIVATE_KEY, 0x00000010,
|
37
|
+
:SERVICE_TOKEN_TYPE_ANY, 0x000000FF,
|
38
|
+
:SERVICE_TOKEN_FROM_CACHE, 0x00010000))
|
39
|
+
|
40
|
+
base.const_set(:IDCRL_OPTION_ID, base.enum(
|
41
|
+
:IDCRL_OPTION_PROXY, 0x00000001,
|
42
|
+
:IDCRL_OPTION_CONNECT_TIMEOUT, 0x00000002,
|
43
|
+
:IDCRL_OPTION_SEND_TIMEOUT, 0x00000004,
|
44
|
+
:IDCRL_OPTION_RECEIVE_TIMEOUT, 0x00000008,
|
45
|
+
:IDCRL_OPTION_PROXY_PASSWORD, 0x00000010,
|
46
|
+
:IDCRL_OPTION_PROXY_USERNAME, 0x00000020,
|
47
|
+
:IDCRL_OPTION_ENVIRONMENT, 0x00000040,
|
48
|
+
:IDCRL_OPTION_ALL_BIT, 0x0000007F,
|
49
|
+
:IDCRL_OPTION_MSC_TIMEOUT, 0x00000080))
|
50
|
+
|
51
|
+
base.const_set(:IDCRL_DEVICE_CONSENT_OPTIONS, base.enum(
|
52
|
+
:IDCRL_DEVICE_ID_CONSENT_MIN, 0,
|
53
|
+
:IDCRL_DEVICE_ID_CONSENT_GRANT, 1,
|
54
|
+
:IDCRL_DEVICE_ID_CONSENT_REVOKE, 2,
|
55
|
+
:IDCRL_DEVICE_ID_CONSENT_REMOVE, 3,
|
56
|
+
:IDCRL_DEVICE_ID_CONSENT_MAX, 4))
|
57
|
+
|
58
|
+
base.const_set(:IDCRL_DEVICE_ID_OPTIONS, base.enum(
|
59
|
+
:IDCRL_DEVICE_ID_PHYSICAL, 0x0008,
|
60
|
+
:IDCRL_DEVICE_ID_FROMCACHE, 0x0010,
|
61
|
+
:IDCRL_DEVICE_ID_ACCESSCHECK, 0x0020,
|
62
|
+
:IDCRL_DEVICE_ID_NO_SIGNUP, 0x0100,
|
63
|
+
:IDCRL_DEVICE_ID_RENEW_CERT, 0x0200))
|
64
|
+
|
65
|
+
base.const_set(:LOGON_FLAG, base.enum(
|
66
|
+
:LOGONIDENTITY_DEFAULT, 0x0000,
|
67
|
+
:LOGONIDENTITY_ALLOW_OFFLINE, 0x0001,
|
68
|
+
:LOGONIDENTITY_FORCE_OFFLINE, 0x0002,
|
69
|
+
:LOGONIDENTITY_CREATE_OFFLINE_HASH, 0x0004,
|
70
|
+
:LOGONIDENTITY_ALLOW_PERSISTENT_COOKIES, 0x0008,
|
71
|
+
:LOGONIDENTITY_USE_EID_AUTH, 0x0010,
|
72
|
+
:LOGONIDENTITY_USE_LINKED_ACCOUNTS, 0x0020,
|
73
|
+
:LOGONIDENTITY_FEDERATED, 0x0040,
|
74
|
+
:LOGONIDENTITY_WLID, 0x0080,
|
75
|
+
:LOGONIDENTITY_AUTO_PARTNER_REDIRECT, 0x0100,
|
76
|
+
:LOGONIDENTITY_IGNORE_CACHED_TOKENS, 0x0200,
|
77
|
+
:LOGONIDENTITY_RESERVED_1, 0x0400,
|
78
|
+
:LOGONIDENTITY_ALL_BIT, 0x07FF,
|
79
|
+
:LOGONIDENTITY_USE_SINGLEUSECODE, 0x0800))
|
80
|
+
|
81
|
+
base.const_set(:IDCRL_ERROR_CATEGORY, base.enum(
|
82
|
+
:IDCRL_UNKNOWN_ERROR_CATEGORY, 0x00000000,
|
83
|
+
:IDCRL_REQUEST_BUILD_ERROR, 0x00000001,
|
84
|
+
:IDCRL_REQUEST_SEND_ERROR, 0x00000002,
|
85
|
+
:IDCRL_RESPONSE_RECEIVE_ERROR, 0x00000003,
|
86
|
+
:IDCRL_RESPONSE_READ_ERROR, 0x00000004,
|
87
|
+
:IDCRL_REPSONSE_PARSE_ERROR, 0x00000005,
|
88
|
+
:IDCRL_RESPONSE_SIG_DECRYPT_ERROR, 0x00000006,
|
89
|
+
:IDCRL_RESPONSE_PARSE_HEADER_ERROR, 0x00000007,
|
90
|
+
:IDCRL_RESPONSE_PARSE_TOKEN_ERROR, 0x00000008,
|
91
|
+
:IDCRL_RESPONSE_PUTCERT_ERROR, 0x00000009,
|
92
|
+
:IDCRL_UNKNOWN_ERROR_CATEGORY2, 0x0000000a))
|
93
|
+
|
94
|
+
base.const_set(:PASSPORTIDENTITYPROPERTY, base.enum(
|
95
|
+
:IDENTITY_MEMBER_NAME, 1,
|
96
|
+
:IDENTITY_PUIDSTR, 2))
|
97
|
+
|
98
|
+
base.const_set(:SSO_FLAG, base.enum(
|
99
|
+
:SSO_DEFAULT, 0x00,
|
100
|
+
:SSO_NO_UI, 0x01,
|
101
|
+
:SSO_NO_AUTO_SIGNIN, 0x02,
|
102
|
+
:SSO_NO_HANDLE_ERROR, 0x04,
|
103
|
+
:SSO_ALL_BIT, 0x0F))
|
104
|
+
|
105
|
+
base.const_set(:IDCRL_SETOPTIONS_FLAG, base.enum(
|
106
|
+
:IDCRL_SETOPTIONS_SET, 0x00,
|
107
|
+
:IDCRL_SETOPTIONS_DEFAULT, 0x00,
|
108
|
+
:IDCRL_SETOPTIONS_RESET, 0x01))
|
109
|
+
|
110
|
+
base.const_set(:IDCRL_USER_DEVICE_ASSOCIATION_TYPE, base.enum(
|
111
|
+
:IDCRL_USER_DEVICE_SYSTEM, 0,
|
112
|
+
:IDCRL_USER_DEVICE_APP, 1))
|
113
|
+
|
114
|
+
base.const_set(:CERTREQUESTFLAGS, base.enum(
|
115
|
+
:CERT_FROM_CACHE, 0x00010000,
|
116
|
+
:CERT_FROM_SERVER, 0x00020000))
|
117
|
+
|
118
|
+
base.const_set(:IDENTITY_FLAG, base.enum(
|
119
|
+
:IDENTITY_SHARE_ALL, 0x000000FF,
|
120
|
+
:IDENTITY_LOAD_FROM_PERSISTED_STORE, 0x00000100,
|
121
|
+
:IDENTITY_AUTHSTATE_ENCRYPTED, 0x00000200,
|
122
|
+
:IDENTITY_FAST_CLOSE, 0x00000400,
|
123
|
+
:IDENTITY_DEVICEID_LOGICAL, 0x00001000,
|
124
|
+
:IDENTITY_ALL_BIT, 0x00001FFF))
|
125
|
+
|
126
|
+
base.const_set(:IDCRL_WEBAUTHOPTION, base.enum(
|
127
|
+
:IDCRL_WEBAUTH_NONE, 0,
|
128
|
+
:IDCRL_WEBAUTH_REAUTH, 1,
|
129
|
+
:IDCRL_WEBAUTH_PERSISTENT, 2))
|
130
|
+
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|