예제 #1
0
        public Dictionary <string, string> GetAliasList(ref authTokenType token, string keySpace)
        {
            xmCryptoService client = new xmCryptoService();

            try
            {
                Dictionary <string, string> dic = new Dictionary <string, string>();
                string tipo = string.Empty;
                getAliasListResponse respuesta    = null;
                getAliasList         getAliasList = new getAliasList();

                getAliasList.AuthToken = token;
                getAliasList.KeySpace  = keySpace;

                respuesta = client.getAliasList(getAliasList);
                token     = respuesta.AuthToken;
                foreach (var alias in respuesta.ObjectAlias)
                {
                    var info = new getObjectInfo {
                        ObjectAlias = alias, AuthToken = respuesta.AuthToken
                    };
                    getObjectInfoResponse resp = client.getObjectInfo(info);
                    respuesta.AuthToken = resp.AuthToken;
                    if (resp.KeyInfo != null && resp.KeyInfo.ItemsElementName[0] == ItemsChoiceType1.X509Data)
                    {
                        tipo = "Certificado";
                    }
                    else
                    {
                        tipo = resp.CryptoObject.Policy[1].PolicyValue;
                        if (tipo == "Private Key")
                        {
                            tipo = "Llave Privada";
                        }
                        else
                        {
                            tipo = "Llave Pública";
                        }
                    }
                    dic.Add(alias, tipo);
                }

                token = respuesta.AuthToken;
                return(dic);
            }
            catch (Exception ee)
            {
                Log.Error("Error al intentar realizar login: " + ee);
                return(null);
            }
        }
예제 #2
0
        public List <string> GetAliasSimetricas(ref authTokenType token, string keySpace)
        {
            xmCryptoService client = new xmCryptoService();

            try
            {
                List <string>        dic          = new List <string>();
                string               tipo         = string.Empty;
                getAliasListResponse respuesta    = null;
                getAliasList         getAliasList = new getAliasList();

                getAliasList.AuthToken = token;
                getAliasList.KeySpace  = keySpace;

                respuesta = client.getAliasList(getAliasList);

                foreach (var alias in respuesta.ObjectAlias)
                {
                    var info = new getObjectInfo {
                        ObjectAlias = alias, AuthToken = respuesta.AuthToken
                    };
                    getObjectInfoResponse resp = client.getObjectInfo(info);
                    respuesta.AuthToken = resp.AuthToken;
                    if (resp.CryptoObject.Policy != null && resp.CryptoObject.Policy[1].PolicyValue == "Secret Key")
                    {
                        dic.Add(alias);
                    }
                }
                token = respuesta.AuthToken;
                return(dic);
            }
            catch (Exception ee)
            {
                Log.Error("Error al intentar realizar login: " + ee);
                return(null);
            }
        }