1

私は Windows Azure ACS で SWT を使用しており、着信 SWT トークンを処理するために Relying Party アプリケーションでカスタム SwtHandler が使用されています。証明書利用者で SWT トークンを再作成しているときに、validFrom 属性の値に関連する SessionSecurityToken の作成でエラーが発生します。

ValidFrom の次の値を試しましたが、問題は解決しませんでした。

  1. DateTime SwtBaseTime = new DateTime( 1970, 1, 1, 0, 0, 0, 0 );
  2. DateTime.UtcNow
  3. DateTime.MinValue 指定された引数が有効な値の範囲外でした。パラメータ名:validFrom

[ArgumentOutOfRangeException: 指定された引数が有効な値の範囲外でした。パラメータ名:validFrom]

System.IdentityModel.Tokens.SessionSecurityToken..ctor(ClaimsPrincipal claimPrincipal、UniqueId contextId、文字列 ID、文字列コンテキスト、Byte[] キー、文字列 endpointId、Nullable 1 validFrom, Nullable1 validTo、UniqueId keyGeneration、Nullable 1 keyEffectiveTime, Nullable1 keyExpirationTime、SctAuthorizationPolicy sctAuthorizationPolicy、Uri securityContextSecurityTokenWrapperSecureConversationVersion) +1009610 System.IdentityModel.Tokens.SessionSecurityToken..ctor(ClaimsPrincipal claimPrincipal, UniqueId contextId, String context, String endpointId, Nullable1 validFrom, Nullable1 validTo、SymmetricSecurityKey キー) +317 System.IdentityModel.Tokens.SessionSecurityTokenHandler.CreateSessionSecurityToken(ClaimsPrincipal プリンシパル、文字列コンテキスト、文字列 endpointId、DateTime validFrom、DateTime validTo) +306 System.IdentityModel.Services.SessionAuthenticationModule.CreateSessionSecurityToken(ClaimsPrincipal プリンシパル、文字列コンテキスト) 、DateTime validFrom、DateTime validTo、Boolean isPersistent) +313 System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase リクエスト) +1079 System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(オブジェクト送信者、EventArgs args) +123924 System.Web.SyncEventExecutionStep .System.Web.HttpApplication.IExecutionStep.Execute() +80 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値&完了同期) +165

4

2 に答える 2

0

同じものを使ってみるKeyEffectiveTime

e.SessionToken = sam.CreateSessionSecurityToken(
                     e.SessionToken.ClaimsPrincipal,
                     e.SessionToken.Context,
                     e.SessionToken.KeyEffectiveTime, 
                     e.SessionToken.KeyExpirationTime.AddHours(8), 
                     e.SessionToken.IsPersistent);
于 2016-04-25T12:42:31.123 に答える