示例#1
0
        protected CredentialServiceCapabilities GetCredentialServiceCapabilities()
        {
            CredentialServiceCapabilities response = null;

            RunStep(() => { response = CredentialPortClient.GetServiceCapabilities(); }, "Get Credential service capabilities");
            DoRequestDelay();
            return(response);
        }
示例#2
0
        public static CredentialServiceCapabilities GetServiceCapabilities(this ICredentialService s)
        {
            s.InitializeGuard();

            CredentialServiceCapabilities r = null;

            s.Test.RunStep(() => r = s.ServiceClient.Port.GetServiceCapabilities(), "Get Service Capabilities(Credential)");

            return(r);
        }
        public List <string> GetSupportedCredentialIdentifierTypes()
        {
            CredentialServiceCapabilities serviceCapabilities = null;

            if (Security == Security.None)
            {
                var action = ConstructSecurityTolerantAction(() => serviceCapabilities = Client.GetServiceCapabilities());

                action();
            }
            else
            {
                serviceCapabilities = Client.GetServiceCapabilities();
            }

            if (null != serviceCapabilities)
            {
                return(serviceCapabilities.SupportedIdentifierType.ToList());
            }

            return(new List <string>());
        }
示例#4
0
        public static string CreateCredentialWithTwoCredentialIdentifierItemsA18(this ICredentialService s, bool antipassbackViolated, CredentialServiceCapabilities serviceCapabilities,
                                                                                 out CredentialIdentifier credentialIdentifierFirst, out CredentialIdentifier credentialIdentifierSecond)
        {
            credentialIdentifierFirst  = null;
            credentialIdentifierSecond = null;

            if (serviceCapabilities == null)
            {
                serviceCapabilities = s.GetServiceCapabilities();
            }

            var valueFirst  = s.GetCredentialIdentifierTypeAndValueA15(serviceCapabilities.SupportedIdentifierType);
            var valueSecond = s.GetCredentialIdentifierTypeAndValueA15(serviceCapabilities.SupportedIdentifierType.Where(e => e != valueFirst.TypeName));

            //7. ONVIF client invokes CreateCredential with parameters by following the procedure mentioned in Annex A.11.
            var credential = new Credential
            {
                token       = "",
                Description = "Test Description",
                CredentialHolderReference = "TestUser",
                CredentialIdentifier      = new[] { credentialIdentifierFirst = new CredentialIdentifier
                                                    {
                                                        Type = new CredentialIdentifierType {
                                                            Name = valueFirst.TypeName, FormatType = valueFirst.FormatType
                                                        },
                                                        Value = valueFirst.Value,
                                                        ExemptedFromAuthentication = false
                                                    },
                                                    credentialIdentifierSecond = new CredentialIdentifier
                                                    {
                                                        Type = new CredentialIdentifierType {
                                                            Name = valueSecond.TypeName, FormatType = valueSecond.FormatType
                                                        },
                                                        Value = valueSecond.Value,
                                                        ExemptedFromAuthentication = false
                                                    } },
                CredentialAccessProfile = null,
                Extension          = null,
                ValidFromSpecified = false,
                ValidToSpecified   = false
            };

            AntipassbackState antipassbackState = null;

            if (serviceCapabilities.ResetAntipassbackSupported)
            {
                antipassbackState = new AntipassbackState()
                {
                    AntipassbackViolated = antipassbackViolated
                }
            }
            ;

            var state = new CredentialState
            {
                Enabled           = true,
                Reason            = "Test Reason",
                AntipassbackState = antipassbackState
            };

            return(s.CreateCredential(credential, state));
        }
    }