mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2025-08-02 12:20:12 +03:00
first commit
Version 3.x.x
This commit is contained in:
11
utils/ipn_sqlclr/LogItem.cs
Normal file
11
utils/ipn_sqlclr/LogItem.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Xml;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
public class LogItem
|
||||
{
|
||||
public int MsgId { get; set; }
|
||||
public XmlDocument[] Xml { get; set; }
|
||||
public string[] P { get; set; }
|
||||
}
|
||||
}
|
274
utils/ipn_sqlclr/Taggant.cs
Normal file
274
utils/ipn_sqlclr/Taggant.cs
Normal file
@@ -0,0 +1,274 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Xml;
|
||||
using Microsoft.SqlServer.Server;
|
||||
using Org.BouncyCastle.Crypto;
|
||||
using Org.BouncyCastle.Crypto.Generators;
|
||||
using Org.BouncyCastle.OpenSsl;
|
||||
using Org.BouncyCastle.Security;
|
||||
using System.Linq;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
public class TaggantConfig : Dictionary<string, string>
|
||||
{
|
||||
public X509Certificate ClientCertificate { get; set; }
|
||||
}
|
||||
public partial class UserDefinedFunctions
|
||||
{
|
||||
public static X509Certificate LocateCertificate(string subjectName)
|
||||
{
|
||||
var certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
|
||||
certStore.Open(OpenFlags.ReadOnly);
|
||||
X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindBySubjectName, subjectName, true);
|
||||
certStore.Close();
|
||||
|
||||
if (0 == certCollection.Count)
|
||||
{
|
||||
throw new ArgumentException(string.Format("No valid client certificate found at LocalMachine.My by SubjectName '{0}'", subjectName), "subjectName");
|
||||
}
|
||||
if (1 == certCollection.Count)
|
||||
{
|
||||
return certCollection[0];
|
||||
}
|
||||
throw new ArgumentException(string.Format("More than one client certificate found at LocalMachine.My by SubjectName '{0}'", subjectName), "subjectName");
|
||||
|
||||
}
|
||||
public static TaggantConfig GetTaggantConfig(SqlInt32 taggantConfigId)
|
||||
{
|
||||
var config = new TaggantConfig();
|
||||
using (var conn = new SqlConnection("context connection=true"))
|
||||
{
|
||||
conn.Open();
|
||||
var readConfigCmd = conn.CreateCommand();
|
||||
readConfigCmd.Parameters.Add(new SqlParameter("@taggantConfigId", taggantConfigId.Value));
|
||||
readConfigCmd.CommandText =
|
||||
"SELECT Name, Value FROM dbo.TaggantConfig WHERE ID=@taggantConfigId";
|
||||
using (var reader = readConfigCmd.ExecuteReader())
|
||||
{
|
||||
while(reader.Read())
|
||||
{
|
||||
config[reader.GetString(0)] = reader[1] as string;
|
||||
}
|
||||
}
|
||||
}
|
||||
config.ClientCertificate = LocateCertificate(config["ClientCertificate"]);
|
||||
return config;
|
||||
}
|
||||
|
||||
[SqlFunction]
|
||||
public static SqlString TaggantPrivateKeyGenerateNew()
|
||||
{
|
||||
var g = new RsaKeyPairGenerator();
|
||||
g.Init(new KeyGenerationParameters(new SecureRandom(), 2048));
|
||||
var pair = g.GenerateKeyPair();
|
||||
|
||||
using (var sw = new StringWriter())
|
||||
{
|
||||
new PemWriter(sw).WriteObject(pair);
|
||||
sw.Flush();
|
||||
return new SqlString(sw.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[SqlProcedure]
|
||||
public static int TaggantCertRevoke(SqlInt32 taggantConfigId, SqlInt32 customerId)
|
||||
{
|
||||
var tc = GetTaggantConfig(taggantConfigId);
|
||||
var log = new List<LogItem>();
|
||||
try
|
||||
{
|
||||
string mail;
|
||||
using (var conn = new SqlConnection("context connection=true"))
|
||||
{
|
||||
conn.Open();
|
||||
var readCustomerCmd = conn.CreateCommand();
|
||||
readCustomerCmd.Parameters.Add(new SqlParameter("@CustomerID", customerId.Value));
|
||||
readCustomerCmd.CommandText =
|
||||
"SELECT EMail FROM dbo.Customer WHERE ID=@CustomerID";
|
||||
using (var reader = readCustomerCmd.ExecuteReader())
|
||||
{
|
||||
if (reader.Read())
|
||||
{
|
||||
mail = reader[0] as string;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("Customer not found", "customerId");
|
||||
}
|
||||
if (string.IsNullOrWhiteSpace(mail))
|
||||
throw new InvalidOperationException("Customer EMail is not set");
|
||||
}
|
||||
}
|
||||
log.Add(new LogItem { MsgId = 1033, P = new[] { customerId.ToString(), tc["CertificateProfileOid"] } });
|
||||
|
||||
TaggantWebService.CertRevoke(tc, mail, log);
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.Add(new LogItem { MsgId = 15, P = new[] { ex.Source, ex.Message, ex.StackTrace } });
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
FlushLog("TaggantCertRevoke", new SqlInt32(2), customerId, log);
|
||||
}
|
||||
}
|
||||
|
||||
[SqlProcedure]
|
||||
public static int TaggantCertEnsure(SqlInt32 taggantConfigId, SqlInt32 customerId)
|
||||
{
|
||||
var tc = GetTaggantConfig(taggantConfigId);
|
||||
var log = new List<LogItem>();
|
||||
var id = "ipn" + customerId.Value;
|
||||
string taggantCert = null;
|
||||
try
|
||||
{
|
||||
string mail;
|
||||
string privateKey;
|
||||
using (var conn = new SqlConnection("context connection=true"))
|
||||
{
|
||||
conn.Open();
|
||||
var readCustomerCmd = conn.CreateCommand();
|
||||
readCustomerCmd.Parameters.Add(new SqlParameter("@CustomerID", customerId.Value));
|
||||
readCustomerCmd.CommandText =
|
||||
"SELECT EMail, PrivateKeyCert, TaggantCert FROM dbo.Customer WHERE ID=@CustomerID";
|
||||
using (var reader = readCustomerCmd.ExecuteReader())
|
||||
{
|
||||
if (reader.Read())
|
||||
{
|
||||
mail = reader[0] as string;
|
||||
privateKey = reader[1] as string;
|
||||
taggantCert = reader[2] as string;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("Customer not found", "customerId");
|
||||
}
|
||||
if (string.IsNullOrWhiteSpace(mail))
|
||||
throw new InvalidOperationException("Customer EMail is not set");
|
||||
if (string.IsNullOrWhiteSpace(privateKey))
|
||||
throw new InvalidOperationException("Customer PrivateKeyCert is not set");
|
||||
if (!string.IsNullOrWhiteSpace(taggantCert))
|
||||
return 0; // ensured
|
||||
}
|
||||
}
|
||||
log.Add(new LogItem { MsgId = 14, P = new[] { customerId.ToString(), mail, tc["CertificateProfileOid"] } });
|
||||
|
||||
taggantCert = TaggantWebService.CertRequestNew(tc, id, mail, privateKey, log);
|
||||
using (var conn = new SqlConnection("context connection=true"))
|
||||
{
|
||||
conn.Open();
|
||||
var writeCustomerCmd = conn.CreateCommand();
|
||||
writeCustomerCmd.Parameters.Add(new SqlParameter("@CustomerID", customerId.Value));
|
||||
writeCustomerCmd.Parameters.Add(new SqlParameter("@TaggantCert", taggantCert));
|
||||
writeCustomerCmd.CommandText =
|
||||
"UPDATE dbo.Customer SET TaggantCert=@TaggantCert WHERE ID=@CustomerID";
|
||||
writeCustomerCmd.ExecuteNonQuery();
|
||||
}
|
||||
return 1; // created new
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.Add(new LogItem { MsgId = 15, P = new[] { ex.Source, ex.Message, ex.StackTrace, taggantCert } });
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
FlushLog("TaggantCertEnsure", new SqlInt32(2), customerId, log);
|
||||
}
|
||||
}
|
||||
|
||||
private static void FlushLog(string src, SqlInt32 refKindId, SqlInt32 refId, IEnumerable<LogItem> log)
|
||||
{
|
||||
using (var conn = new SqlConnection("context connection=true"))
|
||||
{
|
||||
conn.Open();
|
||||
foreach (var li in log)
|
||||
{
|
||||
var insLogCmd = conn.CreateCommand();
|
||||
insLogCmd.Parameters.Add(new SqlParameter("@RefKindID", refKindId));
|
||||
insLogCmd.Parameters.Add(new SqlParameter("@RefID", refId));
|
||||
insLogCmd.Parameters.Add(new SqlParameter("@MsgID", li.MsgId));
|
||||
int i;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
insLogCmd.Parameters.Add(
|
||||
new SqlParameter(string.Format("@xml{0}", i), SqlDbType.Xml)
|
||||
{
|
||||
Value = (li.Xml == null || li.Xml[i] == null)
|
||||
? DBNull.Value
|
||||
: (object)new SqlXml(new XmlTextReader(li.Xml[i].InnerXml, XmlNodeType.Document, null))
|
||||
});
|
||||
}
|
||||
insLogCmd.Parameters.Add(new SqlParameter("@P0", src));
|
||||
i = 1;
|
||||
foreach (var p in li.P)
|
||||
{
|
||||
insLogCmd.Parameters.Add(new SqlParameter(string.Format("@P{0}", i++), p));
|
||||
}
|
||||
for (; i <= 8; i++)
|
||||
{
|
||||
insLogCmd.Parameters.Add(new SqlParameter(string.Format("@P{0}", i), DBNull.Value));
|
||||
}
|
||||
|
||||
insLogCmd.CommandText =
|
||||
"INSERT dbo.Log(RefID, RefKindID, MsgID, xml, xml2, P0, P1, P2, P3, P4, P5, P6, P7, P8)" +
|
||||
" VALUES(@RefID, @RefKindID, @MsgID, @xml0, @xml1, @P0, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)";
|
||||
|
||||
insLogCmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SqlProcedure]
|
||||
public static SqlInt32 TaggantGetPolicies(SqlInt32 taggantConfigId)
|
||||
{
|
||||
var tc = GetTaggantConfig(taggantConfigId);
|
||||
var log = new List<LogItem>();
|
||||
try
|
||||
{
|
||||
var meta = new[]
|
||||
{
|
||||
new SqlMetaData("defaultName", SqlDbType.NVarChar, -1),
|
||||
new SqlMetaData("groupId", SqlDbType.Int),
|
||||
new SqlMetaData("oIdReferenceId", SqlDbType.Int),
|
||||
new SqlMetaData("certificateProfileId", SqlDbType.NVarChar, -1)
|
||||
};
|
||||
SqlDataRecord[] records = TaggantWebService.GetPolicies(tc, log).Select(x =>
|
||||
{
|
||||
var r = new SqlDataRecord(meta);
|
||||
r.SetSqlString(0, x.defaultName);
|
||||
r.SetSqlInt32(1, (int)x.group);
|
||||
r.SetSqlInt32(2, x.oIDReferenceID);
|
||||
r.SetSqlString(3, x.value);
|
||||
return r;
|
||||
}).ToArray();
|
||||
|
||||
if (SqlContext.Pipe != null)
|
||||
{
|
||||
SqlContext.Pipe.SendResultsStart(new SqlDataRecord(meta));
|
||||
foreach (var r in records)
|
||||
SqlContext.Pipe.SendResultsRow(r);
|
||||
SqlContext.Pipe.SendResultsEnd();
|
||||
}
|
||||
return records.Length;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.Add(new LogItem { MsgId = 15, P = new[] { ex.Source, ex.Message, ex.StackTrace } });
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
FlushLog("TaggantGetPolicies", new SqlInt32(), new SqlInt32(), log);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
159
utils/ipn_sqlclr/TaggantWebService.cs
Normal file
159
utils/ipn_sqlclr/TaggantWebService.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using certificateManagementService;
|
||||
using Org.BouncyCastle.Asn1.X509;
|
||||
using Org.BouncyCastle.Crypto;
|
||||
using Org.BouncyCastle.OpenSsl;
|
||||
using Org.BouncyCastle.Pkcs;
|
||||
using Org.BouncyCastle.Security;
|
||||
using Org.BouncyCastle.X509;
|
||||
using policyService;
|
||||
using veriSignCertIssuingService;
|
||||
using ItemChoiceType = certificateManagementService.ItemChoiceType;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
public static class TaggantWebService
|
||||
{
|
||||
public static void CertRevoke(TaggantConfig tc, string id, List<LogItem> log)
|
||||
{
|
||||
var es = new certificateManagementService.certificateManagementService(tc.ClientCertificate, tc["ManagementUrl"]);
|
||||
try
|
||||
{
|
||||
var updateCertificateStatusRequest = new UpdateCertificateStatusRequestType
|
||||
{
|
||||
clientTransactionID = "ipn_sqlclr " + new SecureRandom().Next(),
|
||||
operationType = OperationTypeEnum.Revoke,
|
||||
revocationReasonSpecified = false,
|
||||
ItemElementName = ItemChoiceType.seatId,
|
||||
Item = id,
|
||||
//certificateIssuer = "?",
|
||||
//challenge = "?",
|
||||
//comment = "?",
|
||||
version = tc["ManagementVersion"]
|
||||
};
|
||||
/*var updateResponse =*/ es.updateCertificateStatus(updateCertificateStatusRequest);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogXml("updateCertificateStatus", es, log);
|
||||
}
|
||||
}
|
||||
public static string CertRequestNew(TaggantConfig tc, string id, string mail, string privateKey, List<LogItem> log)
|
||||
{
|
||||
var csr = CreateCsr(tc, privateKey);
|
||||
log.Add(new LogItem {MsgId = 16, P = new[] {csr}});
|
||||
|
||||
var es = new veriSignCertIssuingService.veriSignCertIssuingService(tc.ClientCertificate, tc["EnrollmentUrl"]);
|
||||
try
|
||||
{
|
||||
var requestSecurityTokenType = new RequestSecurityTokenType
|
||||
{
|
||||
Item = new RequestVSSecurityTokenEnrollmentType
|
||||
{
|
||||
clientTransactionID = "ipn_sqlclr " + new SecureRandom().Next(),
|
||||
certificateProfileID = tc["CertificateProfileOid"],
|
||||
requestType = RequestTypeEnum.httpdocsoasisopenorgwssxwstrust200512Issue,
|
||||
version = tc["EnrollVersion"],
|
||||
tokenType = TokenType.httpdocsoasisopenorgwss200401oasis200401wssx509tokenprofile10PKCS7,
|
||||
binarySecurityToken = new[]
|
||||
{
|
||||
new BinarySecurityTokenType
|
||||
{
|
||||
ValueType = "http://schemas.verisign.com/pkiservices/2009/07/PKCS10",
|
||||
EncodingType = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#base64binary",
|
||||
Value = csr
|
||||
}
|
||||
},
|
||||
nameValuePair = new[]
|
||||
{
|
||||
new NameValueType {name = "seat_id", value = mail},
|
||||
new NameValueType {name = "common_name", value = string.Format("VMProtect Client {0}", id)},
|
||||
new NameValueType {name = "mail_lastName", value = "Client"},
|
||||
new NameValueType {name = "mail_firstName", value = string.Format("{0} VMProtect", id)},
|
||||
new NameValueType {name = "emailAddress", value = mail},
|
||||
new NameValueType {name = "mail_email", value = mail},
|
||||
new NameValueType {name = "country", value = "ru"}
|
||||
}
|
||||
}
|
||||
};
|
||||
var enrollmentResponse = es.RequestSecurityToken(requestSecurityTokenType);
|
||||
var certs = ((AttributedString)(enrollmentResponse.Item.requestedVSSecurityToken.Items[0])).Value;
|
||||
var certPkcs7 = Convert.FromBase64String(certs);
|
||||
var parser = new X509CertificateParser();
|
||||
var cert = parser.ReadCertificate(certPkcs7);
|
||||
using (var pw = new StringWriter())
|
||||
{
|
||||
new PemWriter(pw).WriteObject(cert);
|
||||
pw.Flush();
|
||||
return pw.ToString();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogXml("RequestSecurityToken", es, log);
|
||||
}
|
||||
}
|
||||
|
||||
private static string CreateCsr(TaggantConfig tc, string privateKey)
|
||||
{
|
||||
AsymmetricCipherKeyPair pair;
|
||||
using (var reader = new StringReader(privateKey))
|
||||
pair = (AsymmetricCipherKeyPair) new PemReader(reader).ReadObject();
|
||||
|
||||
var csr = new Pkcs10CertificationRequest(tc["CsrAlgorithm"], new X509Name(tc["CsrSubject"]), pair.Public, null, pair.Private);
|
||||
using (var pw = new StringWriter())
|
||||
{
|
||||
new PemWriter(pw).WriteObject(csr);
|
||||
pw.Flush();
|
||||
return pw.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static IEnumerable<OID> GetPolicies(TaggantConfig tc, List<LogItem> log)
|
||||
{
|
||||
var ps = new policyService.policyService(tc.ClientCertificate, tc["PolicyUrl"]);
|
||||
try
|
||||
{
|
||||
var rp = ps.requestPolicies(new getPolicies {version = tc["PolicyVersion"]});
|
||||
return rp.oIDs;
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogXml("requestPolicies", ps, log);
|
||||
}
|
||||
}
|
||||
|
||||
private static void LogXml(string src, XmlReaderSpyService ss, ICollection<LogItem> log)
|
||||
{
|
||||
var req = new XmlDocument();
|
||||
var resp = new XmlDocument();
|
||||
var reqs = ss.GetRequestXml();
|
||||
var resps = ss.GetResponseXml();
|
||||
try
|
||||
{
|
||||
req.LoadXml(reqs);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
req = null;
|
||||
}
|
||||
try
|
||||
{
|
||||
resp.LoadXml(resps);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
resp = null;
|
||||
}
|
||||
if (req != null && string.IsNullOrWhiteSpace(req.InnerXml))
|
||||
req = null;
|
||||
if (resp != null && string.IsNullOrWhiteSpace(resp.InnerXml))
|
||||
resp = null;
|
||||
if (!string.IsNullOrWhiteSpace(reqs) || !string.IsNullOrWhiteSpace(resps))
|
||||
log.Add(new LogItem {MsgId = 17, P = new[] {src, reqs, resps}, Xml = new[] {req, resp}});
|
||||
}
|
||||
}
|
||||
}
|
36
utils/ipn_sqlclr/VmpLicenseKey.cs
Normal file
36
utils/ipn_sqlclr/VmpLicenseKey.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Data.SqlTypes;
|
||||
using Microsoft.SqlServer.Server;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
public partial class UserDefinedFunctions
|
||||
{
|
||||
[SqlFunction]
|
||||
public static SqlString VmpLicenseKeyGenerateNew(SqlInt32 productId, SqlString customerName, SqlString eMail, SqlDateTime maxBuildDt)
|
||||
{
|
||||
return new SqlString (Keygen.GenerateKey(productId.Value, customerName.Value, eMail.Value, maxBuildDt.Value));
|
||||
}
|
||||
|
||||
[SqlFunction(FillRowMethodName = "FillRowVmpLicenseParseKey",
|
||||
TableDefinition = "[productId] int,[customerName] nvarchar(max),[eMail] nvarchar(max),maxBuildDT datetime")]
|
||||
public static IEnumerable VmpLicenseParseKey(String key)
|
||||
{
|
||||
yield return key;
|
||||
}
|
||||
|
||||
public static void FillRowVmpLicenseParseKey(Object obj, out SqlInt32 productId, out SqlString customerName, out SqlString eMail, out SqlDateTime maxBuildDt)
|
||||
{
|
||||
var key = (string)obj;
|
||||
int productIdTmp;
|
||||
string customerNameTmp, eMailTmp;
|
||||
DateTime maxBuildDtTmp;
|
||||
Keygen.ParseKey(key, out productIdTmp, out customerNameTmp, out eMailTmp, out maxBuildDtTmp);
|
||||
productId = productIdTmp;
|
||||
customerName = customerNameTmp;
|
||||
eMail = eMailTmp;
|
||||
maxBuildDt = maxBuildDtTmp;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="BulkUpdateCertificateStatusResponseType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.certificateManagementService.BulkUpdateCertificateStatusResponseType, Web References.certificateManagementService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://schemas.verisign.com/pkiservices/2009/07/management" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/management" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:import schemaLocation="CertificateManagementService.xsd" namespace="http://schemas.verisign.com/pkiservices/2009/07/management" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="requestKeyRecoveryMessage">
|
||||
<wsdl:part name="request" element="tns:requestKeyRecoveryMessage" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="requestKeyRecoveryResponseMessage">
|
||||
<wsdl:part name="response" element="tns:requestKeyRecoveryResponseMessage" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateCertificateStatusRequest">
|
||||
<wsdl:part name="request" element="tns:updateCertificateStatusRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateCertificateStatusResponse">
|
||||
<wsdl:part name="response" element="tns:updateCertificateStatusResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="bulkUpdateCertificateStatusRequest">
|
||||
<wsdl:part name="request" element="tns:bulkUpdateCertificateStatusRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="bulkUpdateCertificateStatusResponse">
|
||||
<wsdl:part name="response" element="tns:bulkUpdateCertificateStatusResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="searchCertificateRequest">
|
||||
<wsdl:part name="request" element="tns:searchCertificateRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="searchCertificateResponse">
|
||||
<wsdl:part name="response" element="tns:searchCertificateResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="certificateManagementOperations">
|
||||
<wsdl:operation name="updateCertificateStatus">
|
||||
<wsdl:input message="tns:updateCertificateStatusRequest" />
|
||||
<wsdl:output message="tns:updateCertificateStatusResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="bulkUpdateCertificateStatus">
|
||||
<wsdl:input message="tns:bulkUpdateCertificateStatusRequest" />
|
||||
<wsdl:output message="tns:bulkUpdateCertificateStatusResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="keyRecovery">
|
||||
<wsdl:input message="tns:requestKeyRecoveryMessage" />
|
||||
<wsdl:output message="tns:requestKeyRecoveryResponseMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="searchCertificate">
|
||||
<wsdl:input message="tns:searchCertificateRequest" />
|
||||
<wsdl:output message="tns:searchCertificateResponse" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="certificateManagementServiceSOAP" type="tns:certificateManagementOperations">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="updateCertificateStatus">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/management/updateCertificateStatus" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="bulkUpdateCertificateStatus">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/management/bulkUpdateCertificateStatus" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="keyRecovery">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/management/keyRecovery" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="searchCertificate">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/management/searchCertificate" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="certificateManagementService">
|
||||
<wsdl:port name="certificateManagementServiceSOAP" binding="tns:certificateManagementServiceSOAP">
|
||||
<soap:address location="https://pki-ws.symauth.com/pki-ws/certificateManagementService" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@@ -0,0 +1,187 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:vsmgmt="http://schemas.verisign.com/pkiservices/2009/07/management" xmlns:vswstep="http://www.verisign.com/2009/07/vswstep" elementFormDefault="qualified" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/management" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
XML Schema for
|
||||
certificateManagementService Web Services
|
||||
version 1.0
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType name="VersionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,3}\.\d{0,3}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TransactionIDType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CommentType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="128" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="requestKeyRecoveryMessage" type="vsmgmt:RequestKeyRecoveryMessageType" />
|
||||
<xs:complexType name="RequestKeyRecoveryMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="pKCS12Password" type="xs:string" />
|
||||
<xs:element name="certificateSerialNumber" type="xs:string" />
|
||||
<xs:element name="certificateIssuer" type="xs:string" />
|
||||
<xs:element name="adminID" type="xs:string" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="requestKeyRecoveryResponseMessage" type="vsmgmt:RequestKeyRecoveryResponseMessageType" />
|
||||
<xs:complexType name="RequestKeyRecoveryResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="adminApprovalPendingCount" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="pKCS12Password" type="xs:string" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="pKCS12Message" type="xs:string" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="updateCertificateStatusRequest" type="vsmgmt:UpdateCertificateStatusRequestType" />
|
||||
<xs:complexType name="UpdateCertificateStatusRequestType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:element minOccurs="0" name="certificateIssuer" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="revocationReason" type="vsmgmt:RevokeReasonCodeEnum" />
|
||||
<xs:element minOccurs="0" name="challenge" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="comment" type="vsmgmt:CommentType" />
|
||||
<xs:choice>
|
||||
<xs:element name="certificateSerialNumber" type="xs:string" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
</xs:choice>
|
||||
<xs:element name="operationType" type="vsmgmt:OperationTypeEnum" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="updateCertificateStatusResponse" type="vsmgmt:UpdateCertificateStatusResponseType" />
|
||||
<xs:complexType name="UpdateCertificateStatusResponseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="serverTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:element name="successCode" type="xs:int" />
|
||||
<xs:element name="successMsg" type="xs:string" />
|
||||
<xs:element name="revocationCount" type="xs:int" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="bulkUpdateCertificateStatusRequest" type="vsmgmt:BulkUpdateCertificateStatusRequestType" />
|
||||
<xs:complexType name="BulkUpdateCertificateStatusRequestType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:element minOccurs="0" name="revocationReason" type="vsmgmt:RevokeReasonCodeEnum" />
|
||||
<xs:element minOccurs="0" name="comment" type="vsmgmt:CommentType" />
|
||||
<xs:choice>
|
||||
<xs:element maxOccurs="100" name="certificateSerialNumber" type="xs:string" />
|
||||
<xs:element maxOccurs="100" name="seatId" type="xs:string" />
|
||||
<xs:element maxOccurs="100" name="profileOID" type="xs:string" />
|
||||
</xs:choice>
|
||||
<xs:element name="operationType" type="vsmgmt:OperationTypeEnum" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="bulkUpdateCertificateStatusResponse" type="vsmgmt:BulkUpdateCertificateStatusResponseType" />
|
||||
<xs:complexType name="BulkUpdateCertificateStatusResponseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="serverTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:element name="successCode" type="xs:int" />
|
||||
<xs:element name="successMsg" type="xs:string" />
|
||||
<xs:element name="revocationCount" type="xs:int" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="OperationTypeEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Revoke" />
|
||||
<xs:enumeration value="Suspend" />
|
||||
<xs:enumeration value="Resume" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RevokeReasonCodeEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Unspecified" />
|
||||
<xs:enumeration value="KeyCompromise" />
|
||||
<xs:enumeration value="CACompromise" />
|
||||
<xs:enumeration value="AffiliationChanged" />
|
||||
<xs:enumeration value="CessationOfOperation" />
|
||||
<xs:enumeration value="PrivilegeWithdrawn" />
|
||||
<xs:enumeration value="AACompromise" />
|
||||
<xs:enumeration value="Superseded" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="searchCertificateRequest" type="vsmgmt:SearchCertificateRequestType" />
|
||||
<xs:complexType name="SearchCertificateRequestType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="seatId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="accountId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="profileOID" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="commonName" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="status" type="vsmgmt:CertificateStatusEnum" />
|
||||
<xs:element minOccurs="0" name="emailAddress" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="serialNumber" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="issuingCA" type="xs:base64Binary" />
|
||||
<xs:element minOccurs="0" name="validFrom" type="xs:long" />
|
||||
<xs:element minOccurs="0" name="validTo" type="xs:long" />
|
||||
<xs:element minOccurs="0" name="startIndex" type="xs:int" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="searchCertificateResponse" type="vsmgmt:SearchCertificateResponseType" />
|
||||
<xs:complexType name="SearchCertificateResponseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vsmgmt:TransactionIDType" />
|
||||
<xs:element name="certificateCount" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="certificateList" type="vsmgmt:CertificateListType" />
|
||||
<xs:element minOccurs="0" name="moreCertificateAvailable" type="xs:boolean" />
|
||||
<xs:element name="version" type="vsmgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CertificateSearchResultType">
|
||||
<xs:sequence>
|
||||
<xs:element name="certificate" type="xs:base64Binary" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element name="commonName" type="xs:string" />
|
||||
<xs:element name="accountId" type="xs:string" />
|
||||
<xs:element name="profileOID" type="xs:string" />
|
||||
<xs:element name="emailAddress" nillable="true" type="xs:string" />
|
||||
<xs:element name="status" type="vsmgmt:CertificateStatusEnum" />
|
||||
<xs:element minOccurs="0" name="revokeAt" type="xs:long" />
|
||||
<xs:element minOccurs="0" name="revokeReason" type="vsmgmt:RevokeReasonCodeEnum" />
|
||||
<xs:element name="validFrom" type="xs:long" />
|
||||
<xs:element name="validTo" type="xs:long" />
|
||||
<xs:element name="serialNumber" type="xs:string" />
|
||||
<xs:element name="isEscrowed" type="xs:boolean" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CertificateListType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="certificateInformation" type="vsmgmt:CertificateSearchResultType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CertificateStatusEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="VALID" />
|
||||
<xs:enumeration value="EXPIRED" />
|
||||
<xs:enumeration value="REVOKED" />
|
||||
<xs:enumeration value="SUSPENDED" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/CertificateManagementService.wsdl" filename="CertificateManagementService.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/CertificateManagementService.xsd" filename="CertificateManagementService.xsd" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="RequestKeyRecoveryResponseMessageType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.certificateManagementService.RequestKeyRecoveryResponseMessageType, Web References.certificateManagementService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="SearchCertificateResponseType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.certificateManagementService.SearchCertificateResponseType, Web References.certificateManagementService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="UpdateCertificateStatusResponseType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.certificateManagementService.UpdateCertificateStatusResponseType, Web References.certificateManagementService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:vscep="http://schemas.verisign.com/pkiservices/2009/07/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/policy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:import schemaLocation="CertificateEnrollmentPolicy.xsd" namespace="http://schemas.verisign.com/pkiservices/2009/07/policy" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="requestPoliciesMessage">
|
||||
<wsdl:part name="request" element="vscep:getPolicies" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="requestPoliciesResponse">
|
||||
<wsdl:part name="response" element="vscep:getPoliciesResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="policy">
|
||||
<wsdl:operation name="requestPolicies">
|
||||
<wsdl:input wsaw:Action="http://schemas.verisign.com/pkiservices/2009/07/policy/getPolicies" message="vscep:requestPoliciesMessage" />
|
||||
<wsdl:output wsaw:Action="http://schemas.verisign.com/pkiservices/2009/07/policy/getPoliciesResponse" message="vscep:requestPoliciesResponse" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="requestPoliciesServiceSOAP" type="vscep:policy">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="requestPolicies">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/policy/requestPolicies" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="policyService">
|
||||
<wsdl:port name="requestPoliciesServiceSOAP" binding="vscep:requestPoliciesServiceSOAP">
|
||||
<soap:address location="https://pki-ws.symauth.com/pki-ws/policyService" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@@ -0,0 +1,388 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:vscep="http://schemas.verisign.com/pkiservices/2009/07/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/policy" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
XML Schema for policyService Web Services
|
||||
version 2.0
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element name="getPolicies">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="version" type="vscep:VersionType" />
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vscep:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="client" type="vscep:Client" />
|
||||
<xs:element name="requestFilter" nillable="true" type="vscep:RequestFilter" />
|
||||
<xs:element minOccurs="0" name="signResponse" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:simpleType name="VersionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,3}\.\d{0,3}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TransactionIDType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Client">
|
||||
<xs:sequence>
|
||||
<xs:element name="lastUpdatetime" nillable="true" type="xs:dateTime" />
|
||||
<xs:element name="preferredLanguage" nillable="true" type="xs:language" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RequestFilter">
|
||||
<xs:sequence>
|
||||
<xs:element name="policyIDs" nillable="true" type="vscep:FilterOIDCollection" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FilterOIDCollection">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="oid" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="getPoliciesResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vscep:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vscep:TransactionIDType" />
|
||||
<xs:element name="response" type="vscep:Response" />
|
||||
<xs:element name="cAs" nillable="true" type="vscep:CACollection" />
|
||||
<xs:element name="oIDs" nillable="true" type="vscep:OIDCollection" />
|
||||
<xs:element minOccurs="0" name="signedEnrollmentPolicy" type="xs:base64Binary" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:complexType name="Response">
|
||||
<xs:sequence>
|
||||
<xs:element name="policyID" type="xs:string" />
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="policyFriendlyName" type="xs:string" />
|
||||
<xs:element name="nextUpdateHours" nillable="true" type="xs:unsignedInt" />
|
||||
<xs:element name="policiesNotChanged" type="xs:boolean" />
|
||||
<xs:element name="policies" nillable="true" type="vscep:PolicyCollection" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CACollection">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="cA" type="vscep:CA" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CA">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="uris" type="xs:anyURI" />
|
||||
<xs:element name="certificate" type="xs:base64Binary" />
|
||||
<xs:element name="cAIssuerName" nillable="true" type="xs:string" />
|
||||
<xs:element name="cAReferenceID" type="xs:int" />
|
||||
<xs:element name="cAType" nillable="true" type="vscep:CAType" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="intermediateCACertificates" type="xs:base64Binary" />
|
||||
<xs:element name="rootCACertificate" type="xs:base64Binary" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OIDCollection">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="1" maxOccurs="unbounded" name="oID" type="vscep:OID" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OID">
|
||||
<xs:sequence>
|
||||
<xs:element name="value" type="xs:string" />
|
||||
<xs:element name="oIDReferenceID" type="xs:int" />
|
||||
<xs:element name="group" type="xs:unsignedInt" />
|
||||
<xs:element name="defaultName" nillable="true" type="xs:string" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PolicyCollection">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="policy" type="vscep:CertificateEnrollmentPolicy" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CertificateEnrollmentPolicy">
|
||||
<xs:sequence>
|
||||
<xs:element name="policyOIDReference" type="xs:int" />
|
||||
<xs:element name="cAs" type="vscep:CAReferenceCollection" />
|
||||
<xs:element name="attributes" type="vscep:Attributes" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CAReferenceCollection">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="cAReference" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Attributes">
|
||||
<xs:sequence>
|
||||
<xs:element name="policySchema" type="xs:int" />
|
||||
<xs:element name="certificateValidity" type="vscep:CertificateValidity" />
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="certificateOverrideValidity" type="vscep:OverrideValidity" />
|
||||
<xs:element name="subjectNameInfo" nillable="true" type="vscep:subjectName" />
|
||||
<xs:element name="extensions" nillable="true" type="vscep:Extensions" />
|
||||
<xs:element name="privateKeyAttributes" type="vscep:PrivateKeyInfo" />
|
||||
<xs:element name="clientPolicy" nillable="true" type="vscep:ClientPolicy" />
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="systemInfo" type="vscep:SystemInformation" />
|
||||
<xs:element name="rAPolicy" nillable="true" type="vscep:RAPolicy" />
|
||||
<xs:element minOccurs="0" name="seatIdInfo" type="vscep:SeatInfoType" />
|
||||
<xs:element name="applicationInstructions" nillable="true" type="vscep:ApplicationInstructionsType" />
|
||||
<xs:element name="deploymentMode" type="xs:string" />
|
||||
<xs:element name="status" type="xs:string" />
|
||||
<xs:element name="migrationOIDs" nillable="true" type="vscep:MigrationOIDCollection" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SystemInformation">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="searchCertificateData" type="vscep:SearchCertificateData" />
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="cACertPublish" type="vscep:PublishCert" />
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="cACertPublishNameValuePair" type="vscep:CACertPublishNameValuePair" />
|
||||
<xs:element name="certificateDeliveryFormat" type="vscep:DeliveryFormat" />
|
||||
<xs:element minOccurs="0" name="adminInfo" type="vscep:PersonalInfoType" />
|
||||
<xs:element name="serviceEndpointList" nillable="true" type="vscep:ServiceEndpointListType" />
|
||||
<xs:element name="duplicateCertPolicy" nillable="true" type="xs:string" />
|
||||
<xs:element name="supersededPolicyOID" nillable="true" type="xs:string" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="MigrationOIDCollection">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="migratedFromOID" type="xs:string" />
|
||||
<xs:element name="migratedToOID" nillable="true" type="xs:string" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PersonalInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="email" type="xs:string" />
|
||||
<xs:element name="phone" nillable="true" type="xs:string" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceEndpointListType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="serviceEndpoint" type="vscep:ServiceEndpointType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ServiceEndpointType">
|
||||
<xs:sequence>
|
||||
<xs:element name="type" type="xs:string" />
|
||||
<xs:element name="endpointURI" type="xs:anyURI" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SeatInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element name="attributeNameValue" type="vscep:AttributeValueType" />
|
||||
<xs:element name="attributeNameValueProperty" type="vscep:AttributeNameValuePropertyType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ApplicationInstructionsType">
|
||||
<xs:sequence>
|
||||
<xs:element name="fileContentType" type="xs:string" />
|
||||
<xs:element name="url" type="xs:anyURI" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DeliveryFormat">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7" />
|
||||
<xs:enumeration value="http://schemas.verisign.com/pkiservices/2009/07/PKCS12" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CACertPublishNameValuePair">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="$publish_flag" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="SearchCertificateData">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="searchAttributeNameValuePair" type="vscep:AttributeNameValuePairType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CertificateValidity">
|
||||
<xs:sequence>
|
||||
<xs:element name="validityPeriodDays" type="xs:unsignedLong" />
|
||||
<xs:element name="renewalPeriodDays" type="xs:unsignedLong" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OverrideValidity">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="overrideFlag" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="overrideNameValuePair" type="vscep:validityNameValuePairNames" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="validityNameValuePairNames">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="$overrideValidityDays" />
|
||||
<xs:enumeration value="$overrideValidityStartDate" />
|
||||
<xs:enumeration value="$overrideValidityEndDate" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PrivateKeyInfo">
|
||||
<xs:sequence>
|
||||
<xs:element name="keysize" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="keyEscrowPolicy" type="vscep:KeyEscrowPolicyType" />
|
||||
<xs:element name="keyexportable" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="keyprotect" type="xs:boolean" />
|
||||
<xs:element name="algorithmOIDReference" nillable="true" type="xs:int" />
|
||||
<xs:element name="cryptoProviders" nillable="true" type="vscep:CryptoProviders" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="KeyEscrowPolicyType">
|
||||
<xs:sequence>
|
||||
<xs:element name="keyEscrowEnabled" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="keyRecoveryDualAdminApprovalRequired" type="xs:boolean" />
|
||||
<xs:element name="keyEscrowDeploymentMode" nillable="true" type="xs:string" />
|
||||
<xs:element name="doKeyRecoveryForAdditionalEnrollRequest" nillable="true" type="xs:boolean" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CryptoProviders">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="provider" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ClientPolicy">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientName" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="maxPinLength" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="minPinLength" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="noOfBadAttempts" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="certRenewalOverlap" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="renewExpiredCerts" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="certRenewalMsg" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="certCleanUp" type="xs:boolean" />
|
||||
<xs:element name="certPublish" type="vscep:PublishCert" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PublishCert">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="yes" />
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="clientProvided" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RAPolicy">
|
||||
<xs:sequence>
|
||||
<xs:element name="registerUser" type="xs:boolean" />
|
||||
<xs:element name="verifyUser" type="xs:boolean" />
|
||||
<xs:element name="publishCert" type="vscep:PublishCert" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="authorizationInfo" type="vscep:AuthorizationInfoType" />
|
||||
<xs:element name="pollingPolicy" nillable="true" type="vscep:PollingPolicyType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AuthorizationInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element name="userAuthorizationCollection" type="vscep:UserAuthorizationCollection" />
|
||||
<xs:element name="directoryInfo" nillable="true" type="vscep:DirectoryInfoType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DirectoryInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element name="directoryType" type="xs:string" />
|
||||
<xs:element name="domainName" type="xs:string" />
|
||||
<xs:choice>
|
||||
<xs:element name="ipAddress" type="xs:string" />
|
||||
<xs:element name="hostName" type="xs:string" />
|
||||
</xs:choice>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UserAuthorizationCollection">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="authorizedGroup" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PollingPolicyType">
|
||||
<xs:sequence>
|
||||
<xs:element name="gatewayPollingTime" type="vscep:PollingTimeType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PollingTimeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="nextUpdateHours" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Extensions">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="Extension" type="vscep:Extension" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Extension">
|
||||
<xs:sequence>
|
||||
<xs:element name="extensionOIDReference" type="xs:int" />
|
||||
<xs:element name="extensionCriticalFlag" type="xs:boolean" />
|
||||
<xs:element name="extensionSyntax" nillable="true" type="vscep:extensionSyntax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="extensionSyntax">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="extensionAttributeNameValuePair" type="vscep:AttributeNameValuePairType" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="extensionValue" type="vscep:extensionValueType" />
|
||||
</xs:choice>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AttributeNameValuePairType">
|
||||
<xs:sequence>
|
||||
<xs:element name="attributeName" type="xs:string" />
|
||||
<xs:element name="attributeNameValue" nillable="true" type="vscep:AttributeValueType" />
|
||||
<xs:element minOccurs="0" name="attributeNameValueProperty" type="vscep:AttributeNameValuePropertyType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AttributeValueType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="mandatory" type="xs:boolean" />
|
||||
<xs:attribute name="type" type="xs:string" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AttributeNameValuePropertyType">
|
||||
<xs:sequence>
|
||||
<xs:element name="value" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="source" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="sourceAttributeName" type="xs:string" />
|
||||
<xs:element name="mandatory" nillable="true" type="xs:boolean" />
|
||||
<xs:element name="overridable" nillable="true" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="extensionValueType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="mandatory" type="xs:boolean" />
|
||||
<xs:attribute name="type" type="xs:string" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="subjectName">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="subjectNameAttribute" type="vscep:subjectNameAttribute" />
|
||||
<xs:element name="overrideSubjectNameFormat" type="xs:boolean" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="subjectNameAttribute">
|
||||
<xs:sequence>
|
||||
<xs:element name="subjectNameAttributecount" nillable="true" type="xs:int" />
|
||||
<xs:element minOccurs="1" maxOccurs="unbounded" name="subjectNameAttributeNameValuePair" type="vscep:AttributeNameValuePairType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CAType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="public" />
|
||||
<xs:enumeration value="private" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
2512
utils/ipn_sqlclr/Web References/policyService/Reference.cs
Normal file
2512
utils/ipn_sqlclr/Web References/policyService/Reference.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/CertificateEnrollmentPolicy.xsd" filename="CertificateEnrollmentPolicy.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/CertificateEnrollmentPolicy.wsdl" filename="CertificateEnrollmentPolicy.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="getPoliciesResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.policyService.getPoliciesResponse, Web References.policyService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="PrepSignDataResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.signDataService.PrepSignDataResponse, Web References.signDataService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
793
utils/ipn_sqlclr/Web References/signDataService/Reference.cs
Normal file
793
utils/ipn_sqlclr/Web References/signDataService/Reference.cs
Normal file
@@ -0,0 +1,793 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.34014
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.34014.
|
||||
//
|
||||
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace signDataService {
|
||||
using System;
|
||||
using System.Web.Services;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services.Protocols;
|
||||
using System.Xml.Serialization;
|
||||
using System.ComponentModel;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Web.Services.WebServiceBindingAttribute(Name="signDataServiceSOAP", Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class signDataService : System.Web.Services.Protocols.SoapHttpClientProtocol {
|
||||
|
||||
private System.Threading.SendOrPostCallback prepSignDataOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback verifySignedDataOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback noOpOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public signDataService(X509Certificate clientCert, string url)
|
||||
{
|
||||
this.Url = url;
|
||||
ClientCertificates.Add(clientCert);
|
||||
}
|
||||
|
||||
public new string Url {
|
||||
get {
|
||||
return base.Url;
|
||||
}
|
||||
set {
|
||||
if ((((this.IsLocalFileSystemWebService(base.Url) == true)
|
||||
&& (this.useDefaultCredentialsSetExplicitly == false))
|
||||
&& (this.IsLocalFileSystemWebService(value) == false))) {
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials {
|
||||
get {
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set {
|
||||
base.UseDefaultCredentials = value;
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event prepSignDataCompletedEventHandler prepSignDataCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event verifySignedDataCompletedEventHandler verifySignedDataCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event noOpCompletedEventHandler noOpCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/prepSignD" +
|
||||
"ataRequest", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
|
||||
[return: System.Xml.Serialization.XmlElementAttribute("PrepSignDataResponse", Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public PrepSignDataResponse prepSignData([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")] PrepSignDataRequest PrepSignDataRequest) {
|
||||
object[] results = this.Invoke("prepSignData", new object[] {
|
||||
PrepSignDataRequest});
|
||||
return ((PrepSignDataResponse)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void prepSignDataAsync(PrepSignDataRequest PrepSignDataRequest) {
|
||||
this.prepSignDataAsync(PrepSignDataRequest, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void prepSignDataAsync(PrepSignDataRequest PrepSignDataRequest, object userState) {
|
||||
if ((this.prepSignDataOperationCompleted == null)) {
|
||||
this.prepSignDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnprepSignDataOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("prepSignData", new object[] {
|
||||
PrepSignDataRequest}, this.prepSignDataOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnprepSignDataOperationCompleted(object arg) {
|
||||
if ((this.prepSignDataCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.prepSignDataCompleted(this, new prepSignDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/verifySig" +
|
||||
"nedDataRequest", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
|
||||
[return: System.Xml.Serialization.XmlElementAttribute("VerifySignedDataResponse", Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public VerifySignedDataResponse verifySignedData([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")] VerifySignedDataRequest VerifySignedDataRequest) {
|
||||
object[] results = this.Invoke("verifySignedData", new object[] {
|
||||
VerifySignedDataRequest});
|
||||
return ((VerifySignedDataResponse)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void verifySignedDataAsync(VerifySignedDataRequest VerifySignedDataRequest) {
|
||||
this.verifySignedDataAsync(VerifySignedDataRequest, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void verifySignedDataAsync(VerifySignedDataRequest VerifySignedDataRequest, object userState) {
|
||||
if ((this.verifySignedDataOperationCompleted == null)) {
|
||||
this.verifySignedDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnverifySignedDataOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("verifySignedData", new object[] {
|
||||
VerifySignedDataRequest}, this.verifySignedDataOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnverifySignedDataOperationCompleted(object arg) {
|
||||
if ((this.verifySignedDataCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.verifySignedDataCompleted(this, new verifySignedDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/noOpReque" +
|
||||
"st", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
|
||||
[return: System.Xml.Serialization.XmlElementAttribute("ToBeSignedClientPKCS7BlobType", Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public ToBeSignedClientPKCS7BlobType noOp([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")] ToBeSignedPKCS7BlobType ToBeSignedPKCS7BlobType) {
|
||||
object[] results = this.Invoke("noOp", new object[] {
|
||||
ToBeSignedPKCS7BlobType});
|
||||
return ((ToBeSignedClientPKCS7BlobType)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void noOpAsync(ToBeSignedPKCS7BlobType ToBeSignedPKCS7BlobType) {
|
||||
this.noOpAsync(ToBeSignedPKCS7BlobType, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void noOpAsync(ToBeSignedPKCS7BlobType ToBeSignedPKCS7BlobType, object userState) {
|
||||
if ((this.noOpOperationCompleted == null)) {
|
||||
this.noOpOperationCompleted = new System.Threading.SendOrPostCallback(this.OnnoOpOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("noOp", new object[] {
|
||||
ToBeSignedPKCS7BlobType}, this.noOpOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnnoOpOperationCompleted(object arg) {
|
||||
if ((this.noOpCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.noOpCompleted(this, new noOpCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url) {
|
||||
if (((url == null)
|
||||
|| (url == string.Empty))) {
|
||||
return false;
|
||||
}
|
||||
System.Uri wsUri = new System.Uri(url);
|
||||
if (((wsUri.Port >= 1024)
|
||||
&& (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class PrepSignDataRequest {
|
||||
|
||||
private string clientTransactionIDField;
|
||||
|
||||
private SignDataInfoType signDataInfoField;
|
||||
|
||||
private byte[] toBeSignDataField;
|
||||
|
||||
private string versionField;
|
||||
|
||||
/// <remarks/>
|
||||
public string clientTransactionID {
|
||||
get {
|
||||
return this.clientTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.clientTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SignDataInfoType signDataInfo {
|
||||
get {
|
||||
return this.signDataInfoField;
|
||||
}
|
||||
set {
|
||||
this.signDataInfoField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] toBeSignData {
|
||||
get {
|
||||
return this.toBeSignDataField;
|
||||
}
|
||||
set {
|
||||
this.toBeSignDataField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string version {
|
||||
get {
|
||||
return this.versionField;
|
||||
}
|
||||
set {
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class SignDataInfoType {
|
||||
|
||||
private string descriptionField;
|
||||
|
||||
private CertificateFilterType certificateFilterField;
|
||||
|
||||
private HashAlgorithmType hashAlgorithmField;
|
||||
|
||||
private string urlFilterField;
|
||||
|
||||
/// <remarks/>
|
||||
public string description {
|
||||
get {
|
||||
return this.descriptionField;
|
||||
}
|
||||
set {
|
||||
this.descriptionField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public CertificateFilterType certificateFilter {
|
||||
get {
|
||||
return this.certificateFilterField;
|
||||
}
|
||||
set {
|
||||
this.certificateFilterField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public HashAlgorithmType hashAlgorithm {
|
||||
get {
|
||||
return this.hashAlgorithmField;
|
||||
}
|
||||
set {
|
||||
this.hashAlgorithmField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string urlFilter {
|
||||
get {
|
||||
return this.urlFilterField;
|
||||
}
|
||||
set {
|
||||
this.urlFilterField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class CertificateFilterType {
|
||||
|
||||
private string[] profileIDFilterSetField;
|
||||
|
||||
private UserFilterType[] userFilterSetField;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlArrayItemAttribute("profileOID", IsNullable=false)]
|
||||
public string[] profileIDFilterSet {
|
||||
get {
|
||||
return this.profileIDFilterSetField;
|
||||
}
|
||||
set {
|
||||
this.profileIDFilterSetField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlArrayItemAttribute("userFilter", IsNullable=false)]
|
||||
public UserFilterType[] userFilterSet {
|
||||
get {
|
||||
return this.userFilterSetField;
|
||||
}
|
||||
set {
|
||||
this.userFilterSetField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class UserFilterType {
|
||||
|
||||
private UserAttributeNameType userAttributeNameField;
|
||||
|
||||
private string userAttributeValueField;
|
||||
|
||||
private bool ignoreCaseField;
|
||||
|
||||
private bool ignoreCaseFieldSpecified;
|
||||
|
||||
/// <remarks/>
|
||||
public UserAttributeNameType userAttributeName {
|
||||
get {
|
||||
return this.userAttributeNameField;
|
||||
}
|
||||
set {
|
||||
this.userAttributeNameField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string userAttributeValue {
|
||||
get {
|
||||
return this.userAttributeValueField;
|
||||
}
|
||||
set {
|
||||
this.userAttributeValueField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public bool ignoreCase {
|
||||
get {
|
||||
return this.ignoreCaseField;
|
||||
}
|
||||
set {
|
||||
this.ignoreCaseField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
||||
public bool ignoreCaseSpecified {
|
||||
get {
|
||||
return this.ignoreCaseFieldSpecified;
|
||||
}
|
||||
set {
|
||||
this.ignoreCaseFieldSpecified = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public enum UserAttributeNameType {
|
||||
|
||||
/// <remarks/>
|
||||
CN,
|
||||
|
||||
/// <remarks/>
|
||||
Email,
|
||||
|
||||
/// <remarks/>
|
||||
UID,
|
||||
|
||||
/// <remarks/>
|
||||
rfc822Name,
|
||||
|
||||
/// <remarks/>
|
||||
UPN,
|
||||
|
||||
/// <remarks/>
|
||||
DNSName,
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public enum HashAlgorithmType {
|
||||
|
||||
/// <remarks/>
|
||||
sha512,
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class PrepSignDataResponse {
|
||||
|
||||
private string clientTransactionIDField;
|
||||
|
||||
private string serverTransactionIDField;
|
||||
|
||||
private byte[] pkcs7SignedBlobField;
|
||||
|
||||
private string versionField;
|
||||
|
||||
/// <remarks/>
|
||||
public string clientTransactionID {
|
||||
get {
|
||||
return this.clientTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.clientTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string serverTransactionID {
|
||||
get {
|
||||
return this.serverTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.serverTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] pkcs7SignedBlob {
|
||||
get {
|
||||
return this.pkcs7SignedBlobField;
|
||||
}
|
||||
set {
|
||||
this.pkcs7SignedBlobField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string version {
|
||||
get {
|
||||
return this.versionField;
|
||||
}
|
||||
set {
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class VerifySignedDataRequest {
|
||||
|
||||
private string clientTransactionIDField;
|
||||
|
||||
private byte[] clientPkcs7SignedBlobField;
|
||||
|
||||
private string versionField;
|
||||
|
||||
/// <remarks/>
|
||||
public string clientTransactionID {
|
||||
get {
|
||||
return this.clientTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.clientTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] clientPkcs7SignedBlob {
|
||||
get {
|
||||
return this.clientPkcs7SignedBlobField;
|
||||
}
|
||||
set {
|
||||
this.clientPkcs7SignedBlobField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string version {
|
||||
get {
|
||||
return this.versionField;
|
||||
}
|
||||
set {
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class VerifySignedDataResponse {
|
||||
|
||||
private string clientTransactionIDField;
|
||||
|
||||
private string serverTransactionIDField;
|
||||
|
||||
private StatusType statusField;
|
||||
|
||||
private string versionField;
|
||||
|
||||
/// <remarks/>
|
||||
public string clientTransactionID {
|
||||
get {
|
||||
return this.clientTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.clientTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string serverTransactionID {
|
||||
get {
|
||||
return this.serverTransactionIDField;
|
||||
}
|
||||
set {
|
||||
this.serverTransactionIDField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public StatusType status {
|
||||
get {
|
||||
return this.statusField;
|
||||
}
|
||||
set {
|
||||
this.statusField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string version {
|
||||
get {
|
||||
return this.versionField;
|
||||
}
|
||||
set {
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public enum StatusType {
|
||||
|
||||
/// <remarks/>
|
||||
SUCCESS,
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class ToBeSignedPKCS7BlobType {
|
||||
|
||||
private SignDataInfoType signDataInfoField;
|
||||
|
||||
private string organizationField;
|
||||
|
||||
private string requestIdField;
|
||||
|
||||
private byte[] hashValueField;
|
||||
|
||||
private string versionField;
|
||||
|
||||
/// <remarks/>
|
||||
public SignDataInfoType signDataInfo {
|
||||
get {
|
||||
return this.signDataInfoField;
|
||||
}
|
||||
set {
|
||||
this.signDataInfoField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string organization {
|
||||
get {
|
||||
return this.organizationField;
|
||||
}
|
||||
set {
|
||||
this.organizationField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string requestId {
|
||||
get {
|
||||
return this.requestIdField;
|
||||
}
|
||||
set {
|
||||
this.requestIdField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] hashValue {
|
||||
get {
|
||||
return this.hashValueField;
|
||||
}
|
||||
set {
|
||||
this.hashValueField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string version {
|
||||
get {
|
||||
return this.versionField;
|
||||
}
|
||||
set {
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
|
||||
[System.SerializableAttribute()]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.symantec.com/pkiservices/2011/11/sign")]
|
||||
public partial class ToBeSignedClientPKCS7BlobType {
|
||||
|
||||
private byte[] pkcs7SignedBlobField;
|
||||
|
||||
private byte[] toBeSignDataField;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] pkcs7SignedBlob {
|
||||
get {
|
||||
return this.pkcs7SignedBlobField;
|
||||
}
|
||||
set {
|
||||
this.pkcs7SignedBlobField = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] toBeSignData {
|
||||
get {
|
||||
return this.toBeSignDataField;
|
||||
}
|
||||
set {
|
||||
this.toBeSignDataField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
public delegate void prepSignDataCompletedEventHandler(object sender, prepSignDataCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class prepSignDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal prepSignDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public PrepSignDataResponse Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((PrepSignDataResponse)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
public delegate void verifySignedDataCompletedEventHandler(object sender, verifySignedDataCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class verifySignedDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal verifySignedDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public VerifySignedDataResponse Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((VerifySignedDataResponse)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
public delegate void noOpCompletedEventHandler(object sender, noOpCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class noOpCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal noOpCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public ToBeSignedClientPKCS7BlobType Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((ToBeSignedClientPKCS7BlobType)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/SignerAPI.wsdl" filename="SignerAPI.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/SignerAPI.xsd" filename="SignerAPI.xsd" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:vssign="http://schemas.symantec.com/pkiservices/2011/11/sign" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.symantec.com/pkiservices/2011/11/sign" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:import schemaLocation="SignerAPI.xsd" namespace="http://schemas.symantec.com/pkiservices/2011/11/sign" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="prepSignDataRequest">
|
||||
<wsdl:part name="request" element="vssign:PrepSignDataRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="prepSignDataResponse">
|
||||
<wsdl:part name="response" element="vssign:PrepSignDataResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="verifySignedDataRequest">
|
||||
<wsdl:part name="request" element="vssign:VerifySignedDataRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="verifySignedDataResponse">
|
||||
<wsdl:part name="response" element="vssign:VerifySignedDataResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="noOpRequest">
|
||||
<wsdl:part name="request" element="vssign:ToBeSignedPKCS7BlobType" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="noOpResponse">
|
||||
<wsdl:part name="response" element="vssign:ToBeSignedClientPKCS7BlobType" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="signDataOperations">
|
||||
<wsdl:operation name="prepSignData">
|
||||
<wsdl:input message="vssign:prepSignDataRequest" />
|
||||
<wsdl:output message="vssign:prepSignDataResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="verifySignedData">
|
||||
<wsdl:input message="vssign:verifySignedDataRequest" />
|
||||
<wsdl:output message="vssign:verifySignedDataResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="noOp">
|
||||
<wsdl:input message="vssign:noOpRequest" />
|
||||
<wsdl:output message="vssign:noOpResponse" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="signDataServiceSOAP" type="vssign:signDataOperations">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="prepSignData">
|
||||
<soap:operation soapAction="http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/prepSignDataRequest" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="verifySignedData">
|
||||
<soap:operation soapAction="http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/verifySignedDataRequest" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="noOp">
|
||||
<soap:operation soapAction="http://schemas.symantec.com/pkiservices/2011/11/sign/signDataOperations/noOpRequest" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="signDataService">
|
||||
<wsdl:port name="signDataServiceSOAP" binding="vssign:signDataServiceSOAP">
|
||||
<soap:address location="https://egwhost/signDataService" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
127
utils/ipn_sqlclr/Web References/signDataService/SignerAPI.xsd
Normal file
127
utils/ipn_sqlclr/Web References/signDataService/SignerAPI.xsd
Normal file
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:vssign="http://schemas.symantec.com/pkiservices/2011/11/sign" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified" targetNamespace="http://schemas.symantec.com/pkiservices/2011/11/sign" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:simpleType name="VersionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,3}\.\d{0,3}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TransactionIDType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DescriptionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="512" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="UserAttributeNameType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CN" />
|
||||
<xs:enumeration value="Email" />
|
||||
<xs:enumeration value="UID" />
|
||||
<xs:enumeration value="rfc822Name" />
|
||||
<xs:enumeration value="UPN" />
|
||||
<xs:enumeration value="DNSName" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="HashAlgorithmType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="sha512" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="UserFilterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="userAttributeName" type="vssign:UserAttributeNameType" />
|
||||
<xs:element name="userAttributeValue" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ignoreCase" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ProfileIDFilterSetType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="profileOID" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UserFilterSetType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="userFilter" type="vssign:UserFilterType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CertificateFilterType">
|
||||
<xs:sequence>
|
||||
<xs:element name="profileIDFilterSet" type="vssign:ProfileIDFilterSetType" />
|
||||
<xs:element minOccurs="0" name="userFilterSet" type="vssign:UserFilterSetType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SignDataInfoType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="description" type="vssign:DescriptionType" />
|
||||
<xs:element name="certificateFilter" type="vssign:CertificateFilterType" />
|
||||
<xs:element name="hashAlgorithm" type="vssign:HashAlgorithmType" />
|
||||
<xs:element name="urlFilter" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="PrepSignDataRequest">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="signDataInfo" type="vssign:SignDataInfoType" />
|
||||
<xs:element name="toBeSignData" type="xs:base64Binary" />
|
||||
<xs:element name="version" type="vssign:VersionType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ToBeSignedPKCS7BlobType">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="signDataInfo" type="vssign:SignDataInfoType" />
|
||||
<xs:element name="organization" type="xs:string" />
|
||||
<xs:element name="requestId" type="vssign:TransactionIDType" />
|
||||
<xs:element name="hashValue" type="xs:base64Binary" />
|
||||
<xs:element name="version" type="vssign:VersionType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PrepSignDataResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="pkcs7SignedBlob" type="xs:base64Binary" />
|
||||
<xs:element name="version" type="vssign:VersionType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ToBeSignedClientPKCS7BlobType">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="pkcs7SignedBlob" type="xs:base64Binary" />
|
||||
<xs:element name="toBeSignData" type="xs:base64Binary" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="VerifySignedDataRequest">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="clientPkcs7SignedBlob" type="xs:base64Binary" />
|
||||
<xs:element name="version" type="vssign:VersionType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:simpleType name="StatusType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SUCCESS" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="VerifySignedDataResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vssign:TransactionIDType" />
|
||||
<xs:element name="status" type="vssign:StatusType" />
|
||||
<xs:element name="version" type="vssign:VersionType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="ToBeSignedClientPKCS7BlobType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.signDataService.ToBeSignedClientPKCS7BlobType, Web References.signDataService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="VerifySignedDataResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.signDataService.VerifySignedDataResponse, Web References.signDataService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/UserManagementService.xsd" filename="UserManagementService.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/UserManagementService.wsdl" filename="UserManagementService.wsdl" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:usermgmt="http://schemas.verisign.com/pkiservices/2011/08/usermanagement" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.verisign.com/pkiservices/2011/08/usermanagement" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:import schemaLocation="UserManagementService.xsd" namespace="http://schemas.verisign.com/pkiservices/2011/08/usermanagement" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="createOrUpdateUserRequest">
|
||||
<wsdl:part name="request" element="usermgmt:createOrUpdateUserRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="createOrUpdateUserResponse">
|
||||
<wsdl:part name="response" element="usermgmt:createOrUpdateUserResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="createOrUpdatePasscodeRequest">
|
||||
<wsdl:part name="request" element="usermgmt:createOrUpdatePasscodeRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="createOrUpdatePasscodeResponse">
|
||||
<wsdl:part name="response" element="usermgmt:createOrUpdatePasscodeResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="deleteUserRequest">
|
||||
<wsdl:part name="request" element="usermgmt:deleteUserRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="deleteUserResponse">
|
||||
<wsdl:part name="response" element="usermgmt:deleteUserResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="bulkDeleteUserRequest">
|
||||
<wsdl:part name="request" element="usermgmt:bulkDeleteUserRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="bulkDeleteUserResponse">
|
||||
<wsdl:part name="response" element="usermgmt:bulkDeleteUserResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getPasscodeInformationRequest">
|
||||
<wsdl:part name="request" element="usermgmt:getPasscodeInformationRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getPasscodeInformationResponse">
|
||||
<wsdl:part name="response" element="usermgmt:getPasscodeInformationResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getUserInformationRequest">
|
||||
<wsdl:part name="request" element="usermgmt:getUserInformationRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="getUserInformationResponse">
|
||||
<wsdl:part name="response" element="usermgmt:getUserInformationResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="userManagementOperations">
|
||||
<wsdl:operation name="createOrUpdateUser">
|
||||
<wsdl:input message="usermgmt:createOrUpdateUserRequest" />
|
||||
<wsdl:output message="usermgmt:createOrUpdateUserResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="createOrUpdatePasscode">
|
||||
<wsdl:input message="usermgmt:createOrUpdatePasscodeRequest" />
|
||||
<wsdl:output message="usermgmt:createOrUpdatePasscodeResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="deleteUser">
|
||||
<wsdl:input message="usermgmt:deleteUserRequest" />
|
||||
<wsdl:output message="usermgmt:deleteUserResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="bulkDeleteUser">
|
||||
<wsdl:input message="usermgmt:bulkDeleteUserRequest" />
|
||||
<wsdl:output message="usermgmt:bulkDeleteUserResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getPasscodeInformation">
|
||||
<wsdl:input message="usermgmt:getPasscodeInformationRequest" />
|
||||
<wsdl:output message="usermgmt:getPasscodeInformationResponse" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getUserInformation">
|
||||
<wsdl:input message="usermgmt:getUserInformationRequest" />
|
||||
<wsdl:output message="usermgmt:getUserInformationResponse" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="userManagementServiceSOAP" type="usermgmt:userManagementOperations">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="createOrUpdateUser">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="createOrUpdatePasscode">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="deleteUser">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="bulkDeleteUser">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getPasscodeInformation">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="getUserInformation">
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="userManagementService">
|
||||
<wsdl:port name="userManagementServiceSOAP" binding="usermgmt:userManagementServiceSOAP">
|
||||
<soap:address location="https://pki-ws.symauth.com/pki-ws/userManagementService" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:usermgmt="http://schemas.verisign.com/pkiservices/2011/08/usermanagement" elementFormDefault="qualified" targetNamespace="http://schemas.verisign.com/pkiservices/2011/08/usermanagement" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:simpleType name="VersionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,3}\.\d{0,3}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TransactionIDType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="createOrUpdateUserRequest" type="usermgmt:CreateOrUpdateUserRequestMessageType" />
|
||||
<xs:complexType name="CreateOrUpdateUserRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="unbounded" name="userInformation" type="usermgmt:UserInformationType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UserInformationType">
|
||||
<xs:sequence>
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="firstName" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="lastName" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="emailAddress" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="deskPhoneNumber" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="mobilePhoneNumber" type="xs:string" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="userAttribute" type="usermgmt:NameValueType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="NameValueType">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="value" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="createOrUpdateUserResponse" type="usermgmt:CreateOrUpdateUserResponseMessageType" />
|
||||
<xs:complexType name="CreateOrUpdateUserResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="unbounded" name="userCreationStatus" type="usermgmt:UserCreationStatusType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UserCreationStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element name="statusCode" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="createOrUpdatePasscodeRequest" type="usermgmt:CreateOrUpdatePasscodeRequestMessageType" />
|
||||
<xs:complexType name="CreateOrUpdatePasscodeRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="unbounded" name="passcodeInformation" type="usermgmt:PasscodeInformationType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PasscodeInformationType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="passcode" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="numberOfBadAttempts" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="passcodeStatus" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="expiryDateTime" type="xs:dateTime" />
|
||||
<xs:element minOccurs="0" name="creationDateTime" type="xs:dateTime" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element name="certificateProfileOid" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="enrollmentURL" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="createOrUpdatePasscodeResponse" type="usermgmt:CreateOrUpdatePasscodeResponseMessageType" />
|
||||
<xs:complexType name="CreateOrUpdatePasscodeResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="unbounded" name="passcodeCreationStatus" type="usermgmt:PasscodeCreationStatusType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PasscodeCreationStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="passcodeInformation" type="usermgmt:PasscodeInformationType" />
|
||||
<xs:element name="statusCode" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RevokeReasonCodeEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Unspecified" />
|
||||
<xs:enumeration value="KeyCompromise" />
|
||||
<xs:enumeration value="CACompromise" />
|
||||
<xs:enumeration value="AffiliationChanged" />
|
||||
<xs:enumeration value="CessationOfOperation" />
|
||||
<xs:enumeration value="PrivilegeWithdrawn" />
|
||||
<xs:enumeration value="AACompromise" />
|
||||
<xs:enumeration value="Superseded" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="deleteUserRequest" type="usermgmt:DeleteUserRequestMessageType" />
|
||||
<xs:complexType name="DeleteUserRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="revocationReason" type="usermgmt:RevokeReasonCodeEnum" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DeleteUserStatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="status" type="xs:string" />
|
||||
<xs:element name="errorCode" type="xs:string" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element name="revocationCount" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="deleteUserResponse" type="usermgmt:DeleteUserResponseMessageType" />
|
||||
<xs:complexType name="DeleteUserResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="deleteUserStatus" type="usermgmt:DeleteUserStatusType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="bulkDeleteUserRequest" type="usermgmt:BulkDeleteUserRequestMessageType" />
|
||||
<xs:complexType name="BulkDeleteUserRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="25" name="seatId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="revocationReason" type="usermgmt:RevokeReasonCodeEnum" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="bulkDeleteUserResponse" type="usermgmt:BulkDeleteUserResponseMessageType" />
|
||||
<xs:complexType name="BulkDeleteUserResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element maxOccurs="25" name="deleteUserStatus" type="usermgmt:DeleteUserStatusType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="getPasscodeInformationRequest" type="usermgmt:GetPasscodeInformationRequestMessageType" />
|
||||
<xs:complexType name="GetPasscodeInformationRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element name="certificateProfileOid" type="xs:string" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="getPasscodeInformationResponse" type="usermgmt:GetPasscodeInformationResponseMessageType" />
|
||||
<xs:complexType name="GetPasscodeInformationResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="passcodeInformation" type="usermgmt:PasscodeInformationType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="getUserInformationRequest" type="usermgmt:GetUserInformationRequestMessageType" />
|
||||
<xs:complexType name="GetUserInformationRequestMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="seatId" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="getUserCertificate" type="xs:boolean" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UserValidCertificatesType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="userCertificate" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="getUserInformationResponse" type="usermgmt:GetUserInformationResponseMessageType" />
|
||||
<xs:complexType name="GetUserInformationResponseMessageType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="usermgmt:TransactionIDType" />
|
||||
<xs:element name="userInformation" type="usermgmt:UserInformationType" />
|
||||
<xs:element minOccurs="0" name="userValidCertificates" type="usermgmt:UserValidCertificatesType" />
|
||||
<xs:element name="version" type="usermgmt:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://schemas.xmlsoap.org/ws/2004/09/policy/ws-policy.xsd" filename="ws-policy.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/VS_WSTEP.wsdl" filename="certificateService.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" filename="oasis-200401-wss-wssecurity-utility-1.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://www.w3.org/2001/xml.xsd" filename="xml.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://schemas.xmlsoap.org/ws/2006/12/authorization/ws-authorization.xsd" filename="ws-authorization.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://www.w3.org/2006/03/addressing/ws-addr.xsd" filename="ws-addr.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/ws-trust-1.3-verisign.wsdl" filename="ws-trust-1.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/ws-trust-1.3-verisign.xsd" filename="ws-trust-1.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" filename="oasis-200401-wss-wssecurity-secext-1.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" filename="xmldsig-core-schema.xsd" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.SchemaReference" url="file:///C:/Users/Youra/Documents/GitHub/my-vmprotect/tagg/VS_WSTEP.xsd" filename="VS_WSTEP.xsd" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="RequestSecurityTokenResponseCollectionType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.veriSignCertIssuingService.RequestSecurityTokenResponseCollectionType, Web References.veriSignCertIssuingService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="RequestSecurityTokenResponseType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>taggantWrapper.veriSignCertIssuingService.RequestSecurityTokenResponseType, Web References.veriSignCertIssuingService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:vswstep="http://schemas.verisign.com/pkiservices/2009/07/enrollment" xmlns:auth="http://schemas.xmlsoap.org/ws/2006/12/authorization" elementFormDefault="qualified" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/enrollment" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
|
||||
<xs:import schemaLocation="http://schemas.xmlsoap.org/ws/2006/12/authorization/ws-authorization.xsd" namespace="http://schemas.xmlsoap.org/ws/2006/12/authorization" />
|
||||
<xs:import schemaLocation="ws-trust-1.3-verisign.xsd" namespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" />
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
XML Schema for veriSignCertIssuingService Web Services
|
||||
version 1.0
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType name="VersionType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,3}\.\d{0,3}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TransactionIDType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="40" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameValueType">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="value" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TokenType">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7" />
|
||||
<xs:enumeration value="http://schemas.verisign.com/pkiservices/2009/07/PKCS12" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RequestTypeEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Renew" />
|
||||
<xs:enumeration value="http://schemas.verisign.com/pkiservices/2009/07/QueryTokenStatus" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="requestVSSecurityToken" type="vswstep:RequestVSSecurityTokenEnrollmentType" />
|
||||
<xs:complexType name="RequestVSSecurityTokenEnrollmentType">
|
||||
<xs:sequence>
|
||||
<xs:element name="certificateProfileID" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vswstep:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="tokenType" type="vswstep:TokenType" />
|
||||
<xs:element name="requestType" type="vswstep:RequestTypeEnum" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="binarySecurityToken" type="wsse:BinarySecurityTokenType" />
|
||||
<xs:element minOccurs="0" name="additionalContext" type="auth:AdditionalContextType" />
|
||||
<xs:element minOccurs="0" name="pendingTokenReferenceID" type="xs:string" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="nameValuePair" type="vswstep:NameValueType" />
|
||||
<xs:element name="version" type="vswstep:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="preferredLanguage" type="xs:language" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestVSSecurityTokenResponse" type="vswstep:RequestVSSecurityTokenResponseEnrollmentType" />
|
||||
<xs:complexType name="RequestVSSecurityTokenResponseEnrollmentType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="clientTransactionID" type="vswstep:TransactionIDType" />
|
||||
<xs:element name="serverTransactionID" type="vswstep:TransactionIDType" />
|
||||
<xs:element minOccurs="0" name="tokenType" type="vswstep:TokenType" />
|
||||
<xs:element minOccurs="0" name="dispositionMessage" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="binarySecurityToken" type="wsse:BinarySecurityTokenType" />
|
||||
<xs:element minOccurs="0" name="requestedVSSecurityToken" type="vswstep:RequestedVSSecurityTokenEnrollmentType" />
|
||||
<xs:element name="version" type="vswstep:VersionType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="preferredLanguage" type="xs:language" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RequestedVSSecurityTokenEnrollmentType">
|
||||
<xs:choice>
|
||||
<xs:sequence>
|
||||
<xs:element name="binarySecurityToken" type="wsse:BinarySecurityTokenType" />
|
||||
<xs:element minOccurs="0" name="pKCS12Password" type="xs:string" />
|
||||
</xs:sequence>
|
||||
<xs:element name="pendingTokenReferenceID" type="xs:string" />
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:vswstep="http://schemas.verisign.com/pkiservices/2009/07/enrollment" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="certificateService" targetNamespace="http://schemas.verisign.com/pkiservices/2009/07/enrollment" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation xml:lang="en">
|
||||
XML WSDL for VeriSign
|
||||
Certificate Web Services
|
||||
version 1.0
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<wsdl:import namespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" location="ws-trust-1.3-verisign.wsdl" />
|
||||
<wsdl:types />
|
||||
<wsdl:binding name="veriSignCertIssuingServiceSOAP" type="wst:SecurityTokenService">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="RequestSecurityToken">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/enrollment/requestSecurityToken" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="RequestSecurityToken2">
|
||||
<soap:operation soapAction="http://schemas.verisign.com/pkiservices/2009/07/enrollment/requestSecurityToken2" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="veriSignCertIssuingService">
|
||||
<wsdl:port name="veriSignCertServiceSOAP" binding="vswstep:veriSignCertIssuingServiceSOAP">
|
||||
<soap:address location="https://pki-ws.symauth.com/pki-ws/enrollmentService" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@@ -0,0 +1,187 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsd:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" attributeFormDefault="unqualified" blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" version="0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
|
||||
<xsd:import schemaLocation="http://www.w3.org/2001/xml.xsd" namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:import schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" namespace="http://www.w3.org/2000/09/xmldsig#" />
|
||||
<xsd:complexType name="AttributedString">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type represents an element with arbitrary attributes.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute ref="wsu:Id" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="PasswordString">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type is used for password elements per Section 4.1.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="wsse:AttributedString">
|
||||
<xsd:attribute name="Type" type="xsd:anyURI" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="EncodedString">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type is used for elements containing stringified binary data.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="wsse:AttributedString">
|
||||
<xsd:attribute name="EncodingType" type="xsd:anyURI" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="UsernameTokenType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type represents a username token per Section 4.1</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Username" type="wsse:AttributedString" />
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute ref="wsu:Id" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="BinarySecurityTokenType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>A security token that is encoded in binary</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="wsse:EncodedString">
|
||||
<xsd:attribute name="ValueType" type="xsd:anyURI" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="KeyIdentifierType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>A security token key identifier</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="wsse:EncodedString">
|
||||
<xsd:attribute name="ValueType" type="xsd:anyURI" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="tUsage">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Typedef to allow a list of usages (as URIs).</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:list itemType="xsd:anyURI" />
|
||||
</xsd:simpleType>
|
||||
<xsd:attribute name="Usage" type="wsse:tUsage">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This global attribute is used to indicate the usage of a referenced or indicated token within the containing context</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:complexType name="ReferenceType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type represents a reference to an external security token.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" />
|
||||
<xsd:attribute name="ValueType" type="xsd:anyURI" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="EmbeddedType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type represents a reference to an embedded security token.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:any processContents="lax" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="ValueType" type="xsd:anyURI" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SecurityTokenReferenceType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This type is used reference a security token.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:any processContents="lax" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute ref="wsu:Id" />
|
||||
<xsd:attribute ref="wsse:Usage" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SecurityHeaderType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This complexType defines header block to use for security-relevant data directed at a specific SOAP actor.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>The use of "any" is to allow extensibility and different forms of security data.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:any>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="TransformationParametersType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This complexType defines a container for elements to be specified from any namespace as properties/parameters of a DSIG transformation.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>The use of "any" is to allow extensibility from any namespace.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:any>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UsernameToken" type="wsse:UsernameTokenType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines the wsse:UsernameToken element per Section 4.1.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="BinarySecurityToken" type="wsse:BinarySecurityTokenType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines the wsse:BinarySecurityToken element per Section 4.2.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Reference" type="wsse:ReferenceType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines a security token reference</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Embedded" type="wsse:EmbeddedType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines a security token embedded reference</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="KeyIdentifier" type="wsse:KeyIdentifierType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines a key identifier reference</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="SecurityTokenReference" type="wsse:SecurityTokenReferenceType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines the wsse:SecurityTokenReference per Section 4.3.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Security" type="wsse:SecurityHeaderType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element defines the wsse:Security SOAP header element per Section 4.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="TransformationParameters" type="wsse:TransformationParametersType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>This element contains properties for transformations from any namespace, including DSIG.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Password" type="wsse:PasswordString" />
|
||||
<xsd:element name="Nonce" type="wsse:EncodedString" />
|
||||
<xsd:simpleType name="FaultcodeEnum">
|
||||
<xsd:restriction base="xsd:QName">
|
||||
<xsd:enumeration value="wsse:UnsupportedSecurityToken" />
|
||||
<xsd:enumeration value="wsse:UnsupportedAlgorithm" />
|
||||
<xsd:enumeration value="wsse:InvalidSecurity" />
|
||||
<xsd:enumeration value="wsse:InvalidSecurityToken" />
|
||||
<xsd:enumeration value="wsse:FailedAuthentication" />
|
||||
<xsd:enumeration value="wsse:FailedCheck" />
|
||||
<xsd:enumeration value="wsse:SecurityTokenUnavailable" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:schema>
|
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsd:schema xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" version="0.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:simpleType name="tTimestampFault">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This type defines the fault code value for Timestamp message expiration.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:QName">
|
||||
<xsd:enumeration value="wsu:MessageExpired" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:attribute name="Id" type="xsd:ID">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This global attribute supports annotating arbitrary elements with an ID.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attributeGroup name="commonAtts">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Convenience attribute group used to simplify this schema.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:attribute ref="wsu:Id" use="optional" />
|
||||
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xsd:attributeGroup>
|
||||
<xsd:complexType name="AttributedDateTime">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This type is for elements whose [children] is a psuedo-dateTime and can have arbitrary attributes.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attributeGroup ref="wsu:commonAtts" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="AttributedURI">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This type is for elements whose [children] is an anyURI and can have arbitrary attributes.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:anyURI">
|
||||
<xsd:attributeGroup ref="wsu:commonAtts" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="TimestampType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This complex type ties together the timestamp related elements into a composite type.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element minOccurs="0" ref="wsu:Created" />
|
||||
<xsd:element minOccurs="0" ref="wsu:Expires" />
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:any namespace="##other" processContents="lax" />
|
||||
</xsd:choice>
|
||||
</xsd:sequence>
|
||||
<xsd:attributeGroup ref="wsu:commonAtts" />
|
||||
</xsd:complexType>
|
||||
<xsd:element name="Timestamp" type="wsu:TimestampType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This element allows Timestamps to be applied anywhere element wildcards are present,
|
||||
including as a SOAP header.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Expires" type="wsu:AttributedDateTime">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This element allows an expiration time to be applied anywhere element wildcards are present.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Created" type="wsu:AttributedDateTime">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This element allows a creation time to be applied anywhere element wildcards are present.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://www.w3.org/2005/08/addressing" attributeFormDefault="unqualified" blockDefault="#all" finalDefault="" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="EndpointReference" type="tns:EndpointReferenceType" />
|
||||
<xs:complexType name="EndpointReferenceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Address" type="tns:AttributedURIType" />
|
||||
<xs:element minOccurs="0" ref="tns:ReferenceParameters" />
|
||||
<xs:element minOccurs="0" ref="tns:Metadata" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType" />
|
||||
<xs:complexType name="ReferenceParametersType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="Metadata" type="tns:MetadataType" />
|
||||
<xs:complexType name="MetadataType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="MessageID" type="tns:AttributedURIType" />
|
||||
<xs:element name="RelatesTo" type="tns:RelatesToType" />
|
||||
<xs:complexType name="RelatesToType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:attribute default="http://www.w3.org/2005/08/addressing/reply" name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RelationshipTypeOpenEnum">
|
||||
<xs:union memberTypes="tns:RelationshipType xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RelationshipType">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="ReplyTo" type="tns:EndpointReferenceType" />
|
||||
<xs:element name="From" type="tns:EndpointReferenceType" />
|
||||
<xs:element name="FaultTo" type="tns:EndpointReferenceType" />
|
||||
<xs:element name="To" type="tns:AttributedURIType" />
|
||||
<xs:element name="Action" type="tns:AttributedURIType" />
|
||||
<xs:complexType name="AttributedURIType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:attribute name="IsReferenceParameter" type="xs:boolean" />
|
||||
<xs:simpleType name="FaultCodesOpenEnumType">
|
||||
<xs:union memberTypes="tns:FaultCodesType xs:QName" />
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="FaultCodesType">
|
||||
<xs:restriction base="xs:QName">
|
||||
<xs:enumeration value="tns:InvalidAddressingHeader" />
|
||||
<xs:enumeration value="tns:InvalidAddress" />
|
||||
<xs:enumeration value="tns:InvalidEPR" />
|
||||
<xs:enumeration value="tns:InvalidCardinality" />
|
||||
<xs:enumeration value="tns:MissingAddressInEPR" />
|
||||
<xs:enumeration value="tns:DuplicateMessageID" />
|
||||
<xs:enumeration value="tns:ActionMismatch" />
|
||||
<xs:enumeration value="tns:MessageAddressingHeaderRequired" />
|
||||
<xs:enumeration value="tns:DestinationUnreachable" />
|
||||
<xs:enumeration value="tns:ActionNotSupported" />
|
||||
<xs:enumeration value="tns:EndpointUnavailable" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType" />
|
||||
<xs:complexType name="AttributedUnsignedLongType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedLong">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType" />
|
||||
<xs:complexType name="AttributedQNameType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:QName">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ProblemIRI" type="tns:AttributedURIType" />
|
||||
<xs:element name="ProblemAction" type="tns:ProblemActionType" />
|
||||
<xs:complexType name="ProblemActionType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="tns:Action" />
|
||||
<xs:element minOccurs="0" name="SoapAction" type="xs:anyURI" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://schemas.xmlsoap.org/ws/2006/12/authorization" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/ws/2006/12/authorization" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="AdditionalContext" type="tns:AdditionalContextType" />
|
||||
<xs:complexType name="AdditionalContextType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ContextItem" type="tns:ContextItemType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ContextItemType">
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
|
||||
<xs:any minOccurs="1" maxOccurs="1" namespace="##other" processContents="lax" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Name" type="xs:anyURI" use="required" />
|
||||
<xs:attribute name="Scope" type="xs:anyURI" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="ClaimType" type="tns:ClaimType" />
|
||||
<xs:complexType name="ClaimType">
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
|
||||
<xs:any minOccurs="1" maxOccurs="1" namespace="##other" processContents="lax" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Uri" type="xs:anyURI" use="required" />
|
||||
<xs:attribute name="Optional" type="xs:boolean" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:tns="http://schemas.xmlsoap.org/ws/2004/09/policy" blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
|
||||
<xs:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
|
||||
<xs:element name="Policy">
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:OperatorContentType">
|
||||
<xs:attribute name="Name" type="xs:anyURI" />
|
||||
<xs:attribute ref="wsu:Id" />
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="All" type="tns:OperatorContentType" />
|
||||
<xs:element name="ExactlyOne" type="tns:OperatorContentType" />
|
||||
<xs:complexType name="OperatorContentType">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="tns:Policy" />
|
||||
<xs:element ref="tns:All" />
|
||||
<xs:element ref="tns:ExactlyOne" />
|
||||
<xs:element ref="tns:PolicyReference" />
|
||||
<xs:any namespace="##other" processContents="lax" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="PolicyReference">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="URI" type="xs:anyURI" use="required" />
|
||||
<xs:attribute name="Digest" type="xs:base64Binary" />
|
||||
<xs:attribute default="http://schemas.xmlsoap.org/ws/2004/09/policy/Sha1Exc" name="DigestAlgorithm" type="xs:anyURI" />
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attribute default="false" name="Optional" type="xs:boolean" />
|
||||
<xs:attribute name="PolicyURIs">
|
||||
<xs:simpleType>
|
||||
<xs:list itemType="xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:element name="PolicyAttachment">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="tns:AppliesTo" />
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="tns:Policy" />
|
||||
<xs:element ref="tns:PolicyReference" />
|
||||
</xs:choice>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AppliesTo">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:any maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xs:schema>
|
||||
<xs:import schemaLocation="ws-trust-1.3-verisign.xsd" namespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" />
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="RequestSecurityTokenMsg">
|
||||
<wsdl:part name="request" element="tns:RequestSecurityToken" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="RequestSecurityTokenCollectionMsg">
|
||||
<wsdl:part name="request" element="tns:RequestSecurityTokenCollection" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="RequestSecurityTokenResponseMsg">
|
||||
<wsdl:part name="response" element="tns:RequestSecurityTokenResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="RequestSecurityTokenResponseCollectionMsg">
|
||||
<wsdl:part name="responseCollection" element="tns:RequestSecurityTokenResponseCollection" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="WSSecurityRequestor">
|
||||
<wsdl:operation name="SecurityTokenResponse">
|
||||
<wsdl:input message="tns:RequestSecurityTokenResponseMsg" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="SecurityTokenResponse2">
|
||||
<wsdl:input message="tns:RequestSecurityTokenResponseCollectionMsg" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Challenge">
|
||||
<wsdl:input message="tns:RequestSecurityTokenResponseMsg" />
|
||||
<wsdl:output message="tns:RequestSecurityTokenResponseMsg" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Challenge2">
|
||||
<wsdl:input message="tns:RequestSecurityTokenResponseMsg" />
|
||||
<wsdl:output message="tns:RequestSecurityTokenResponseCollectionMsg" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="SecurityTokenRequestService">
|
||||
<wsdl:operation name="RequestSecurityToken">
|
||||
<wsdl:input message="tns:RequestSecurityTokenMsg" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="RequestSecurityTokenCollection">
|
||||
<wsdl:input message="tns:RequestSecurityTokenCollectionMsg" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:portType name="SecurityTokenService">
|
||||
<wsdl:operation name="RequestSecurityToken">
|
||||
<wsdl:input message="tns:RequestSecurityTokenMsg" />
|
||||
<wsdl:output message="tns:RequestSecurityTokenResponseMsg" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="RequestSecurityToken2">
|
||||
<wsdl:input message="tns:RequestSecurityTokenMsg" />
|
||||
<wsdl:output message="tns:RequestSecurityTokenResponseCollectionMsg" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
</wsdl:definitions>
|
@@ -0,0 +1,359 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:vswstep="http://schemas.verisign.com/pkiservices/2009/07/enrollment" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
|
||||
<xs:import schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
|
||||
<xs:import schemaLocation="http://schemas.xmlsoap.org/ws/2004/09/policy/ws-policy.xsd" namespace="http://schemas.xmlsoap.org/ws/2004/09/policy" />
|
||||
<xs:import schemaLocation="http://www.w3.org/2006/03/addressing/ws-addr.xsd" namespace="http://www.w3.org/2005/08/addressing" />
|
||||
<xs:import schemaLocation="VS_WSTEP.xsd" namespace="http://schemas.verisign.com/pkiservices/2009/07/enrollment" />
|
||||
<xs:element name="RequestSecurityToken" type="wst:RequestSecurityTokenType" />
|
||||
<xs:complexType name="RequestSecurityTokenType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Actual content model is non-deterministic, hence wildcard. The following shows intended content model:
|
||||
|
||||
<xs:element ref='wst:TokenType' minOccurs='0' />
|
||||
<xs:element ref='wst:RequestType' />
|
||||
<xs:element ref='wsp:AppliesTo' minOccurs='0' />
|
||||
<xs:element ref='wst:Claims' minOccurs='0' />
|
||||
<xs:element ref='wst:Entropy' minOccurs='0' />
|
||||
<xs:element ref='wst:Lifetime' minOccurs='0' />
|
||||
<xs:element ref='wst:AllowPostdating' minOccurs='0' />
|
||||
<xs:element ref='wst:Renewing' minOccurs='0' />
|
||||
<xs:element ref='wst:OnBehalfOf' minOccurs='0' />
|
||||
<xs:element ref='wst:Issuer' minOccurs='0' />
|
||||
<xs:element ref='wst:AuthenticationType' minOccurs='0' />
|
||||
<xs:element ref='wst:KeyType' minOccurs='0' />
|
||||
<xs:element ref='wst:KeySize' minOccurs='0' />
|
||||
<xs:element ref='wst:SignatureAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:Encryption' minOccurs='0' />
|
||||
<xs:element ref='wst:EncryptionAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:CanonicalizationAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:ProofEncryption' minOccurs='0' />
|
||||
<xs:element ref='wst:UseKey' minOccurs='0' />
|
||||
<xs:element ref='wst:SignWith' minOccurs='0' />
|
||||
<xs:element ref='wst:EncryptWith' minOccurs='0' />
|
||||
<xs:element ref='wst:DelegateTo' minOccurs='0' />
|
||||
<xs:element ref='wst:Forwardable' minOccurs='0' />
|
||||
<xs:element ref='wst:Delegatable' minOccurs='0' />
|
||||
<xs:element ref='wsp:Policy' minOccurs='0' />
|
||||
<xs:element ref='wsp:PolicyReference' minOccurs='0' />
|
||||
<xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' />
|
||||
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element ref="vswstep:requestVSSecurityToken" />
|
||||
</xs:choice>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Context" type="xs:anyURI" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="TokenType" type="xs:anyURI" />
|
||||
<xs:element name="RequestType" type="wst:RequestTypeOpenEnum" />
|
||||
<xs:simpleType name="RequestTypeOpenEnum">
|
||||
<xs:union memberTypes="wst:RequestTypeEnum xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RequestTypeEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Renew" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Cancel" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/STSCancel" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Validate" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="RequestSecurityTokenResponse" type="wst:RequestSecurityTokenResponseType" />
|
||||
<xs:complexType name="RequestSecurityTokenResponseType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Actual content model is non-deterministic, hence wildcard. The following shows intended content model:
|
||||
|
||||
<xs:element ref='wst:TokenType' minOccurs='0' />
|
||||
<xs:element ref='wst:RequestType' />
|
||||
<xs:element ref='wst:RequestedSecurityToken' minOccurs='0' />
|
||||
<xs:element ref='wsp:AppliesTo' minOccurs='0' />
|
||||
<xs:element ref='wst:RequestedAttachedReference' minOccurs='0' />
|
||||
<xs:element ref='wst:RequestedUnattachedReference' minOccurs='0' />
|
||||
<xs:element ref='wst:RequestedProofToken' minOccurs='0' />
|
||||
<xs:element ref='wst:Entropy' minOccurs='0' />
|
||||
<xs:element ref='wst:Lifetime' minOccurs='0' />
|
||||
<xs:element ref='wst:Status' minOccurs='0' />
|
||||
<xs:element ref='wst:AllowPostdating' minOccurs='0' />
|
||||
<xs:element ref='wst:Renewing' minOccurs='0' />
|
||||
<xs:element ref='wst:OnBehalfOf' minOccurs='0' />
|
||||
<xs:element ref='wst:Issuer' minOccurs='0' />
|
||||
<xs:element ref='wst:AuthenticationType' minOccurs='0' />
|
||||
<xs:element ref='wst:Authenticator' minOccurs='0' />
|
||||
<xs:element ref='wst:KeyType' minOccurs='0' />
|
||||
<xs:element ref='wst:KeySize' minOccurs='0' />
|
||||
<xs:element ref='wst:SignatureAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:Encryption' minOccurs='0' />
|
||||
<xs:element ref='wst:EncryptionAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:CanonicalizationAlgorithm' minOccurs='0' />
|
||||
<xs:element ref='wst:ProofEncryption' minOccurs='0' />
|
||||
<xs:element ref='wst:UseKey' minOccurs='0' />
|
||||
<xs:element ref='wst:SignWith' minOccurs='0' />
|
||||
<xs:element ref='wst:EncryptWith' minOccurs='0' />
|
||||
<xs:element ref='wst:DelegateTo' minOccurs='0' />
|
||||
<xs:element ref='wst:Forwardable' minOccurs='0' />
|
||||
<xs:element ref='wst:Delegatable' minOccurs='0' />
|
||||
<xs:element ref='wsp:Policy' minOccurs='0' />
|
||||
<xs:element ref='wsp:PolicyReference' minOccurs='0' />
|
||||
<xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' />
|
||||
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element ref="vswstep:RequestVSSecurityTokenResponse" />
|
||||
</xs:choice>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Context" type="xs:anyURI" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestedSecurityToken" type="wst:RequestedSecurityTokenType" />
|
||||
<xs:complexType name="RequestedSecurityTokenType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="BinarySecret" type="wst:BinarySecretType" />
|
||||
<xs:complexType name="BinarySecretType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:base64Binary">
|
||||
<xs:attribute name="Type" type="wst:BinarySecretTypeOpenEnum" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="BinarySecretTypeEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/AsymmetricKey" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Nonce" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BinarySecretTypeOpenEnum">
|
||||
<xs:union memberTypes="wst:BinarySecretTypeEnum xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:element name="Claims" type="wst:ClaimsType" />
|
||||
<xs:complexType name="ClaimsType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Dialect" type="xs:anyURI" use="optional" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="Entropy" type="wst:EntropyType" />
|
||||
<xs:complexType name="EntropyType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="Lifetime" type="wst:LifetimeType" />
|
||||
<xs:complexType name="LifetimeType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="wsu:Created" />
|
||||
<xs:element minOccurs="0" ref="wsu:Expires" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestSecurityTokenCollection" type="wst:RequestSecurityTokenCollectionType" />
|
||||
<xs:complexType name="RequestSecurityTokenCollectionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The RequestSecurityTokenCollection (RSTC) element is used to provide multiple RST requests.
|
||||
One or more RSTR elements in an RSTRC element are returned in the response to the RequestSecurityTokenCollection.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="2" maxOccurs="unbounded" name="RequestSecurityToken" type="wst:RequestSecurityTokenType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestSecurityTokenResponseCollection" type="wst:RequestSecurityTokenResponseCollectionType" />
|
||||
<xs:complexType name="RequestSecurityTokenResponseCollectionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The <wst:RequestSecurityTokenResponseCollection> element (RSTRC) MUST be used to return a security token or
|
||||
response to a security token request on the final response.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="1" maxOccurs="unbounded" ref="wst:RequestSecurityTokenResponse" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="ComputedKey" type="wst:ComputedKeyOpenEnum" />
|
||||
<xs:simpleType name="ComputedKeyEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/CK/PSHA1" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/CK/HASH" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ComputedKeyOpenEnum">
|
||||
<xs:union memberTypes="wst:ComputedKeyEnum xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:element name="RequestedAttachedReference" type="wst:RequestedReferenceType" />
|
||||
<xs:element name="RequestedUnattachedReference" type="wst:RequestedReferenceType" />
|
||||
<xs:complexType name="RequestedReferenceType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="wsse:SecurityTokenReference" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestedProofToken" type="wst:RequestedProofTokenType" />
|
||||
<xs:complexType name="RequestedProofTokenType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="IssuedTokens" type="wst:RequestSecurityTokenResponseCollectionType" />
|
||||
<xs:element name="RenewTarget" type="wst:RenewTargetType" />
|
||||
<xs:complexType name="RenewTargetType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="1" maxOccurs="1" namespace="##other" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="AllowPostdating" type="wst:AllowPostdatingType" />
|
||||
<xs:complexType name="AllowPostdatingType" />
|
||||
<xs:element name="Renewing" type="wst:RenewingType" />
|
||||
<xs:complexType name="RenewingType">
|
||||
<xs:attribute name="Allow" type="xs:boolean" use="optional" />
|
||||
<xs:attribute name="OK" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
<xs:element name="CancelTarget" type="wst:CancelTargetType" />
|
||||
<xs:complexType name="CancelTargetType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="1" maxOccurs="1" namespace="##other" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestedTokenCancelled" type="wst:RequestedTokenCancelledType" />
|
||||
<xs:complexType name="RequestedTokenCancelledType" />
|
||||
<xs:element name="ValidateTarget" type="wst:ValidateTargetType" />
|
||||
<xs:complexType name="ValidateTargetType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="1" maxOccurs="1" namespace="##other" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Status" type="wst:StatusType" />
|
||||
<xs:complexType name="StatusType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Code" type="wst:StatusCodeOpenEnum" />
|
||||
<xs:element minOccurs="0" name="Reason" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="StatusCodeEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/status/valid" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/status/invalid" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="StatusCodeOpenEnum">
|
||||
<xs:union memberTypes="wst:StatusCodeEnum xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:element name="SignChallenge" type="wst:SignChallengeType" />
|
||||
<xs:element name="SignChallengeResponse" type="wst:SignChallengeType" />
|
||||
<xs:complexType name="SignChallengeType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="wst:Challenge" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:anyAttribute namespace="##any" processContents="lax" />
|
||||
</xs:complexType>
|
||||
<xs:element name="Challenge" type="xs:string" />
|
||||
<xs:element name="BinaryExchange" type="wst:BinaryExchangeType" />
|
||||
<xs:complexType name="BinaryExchangeType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="ValueType" type="xs:anyURI" use="required" />
|
||||
<xs:attribute name="EncodingType" type="xs:anyURI" use="required" />
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="RequestKET" type="wst:RequestKETType" />
|
||||
<xs:complexType name="RequestKETType" />
|
||||
<xs:element name="KeyExchangeToken" type="wst:KeyExchangeTokenType" />
|
||||
<xs:complexType name="KeyExchangeTokenType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Authenticator" type="wst:AuthenticatorType" />
|
||||
<xs:complexType name="AuthenticatorType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="wst:CombinedHash" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="CombinedHash" type="xs:base64Binary" />
|
||||
<xs:element name="OnBehalfOf" type="wst:OnBehalfOfType" />
|
||||
<xs:complexType name="OnBehalfOfType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Issuer" type="wsa:EndpointReferenceType" />
|
||||
<xs:element name="AuthenticationType" type="xs:anyURI" />
|
||||
<xs:element name="KeyType" type="wst:KeyTypeOpenEnum" />
|
||||
<xs:simpleType name="KeyTypeEnum">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey" />
|
||||
<xs:enumeration value="http://docs.oasis-open.org/wssx/wstrust/200512/Bearer" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="KeyTypeOpenEnum">
|
||||
<xs:union memberTypes="wst:KeyTypeEnum xs:anyURI" />
|
||||
</xs:simpleType>
|
||||
<xs:element name="KeySize" type="xs:unsignedInt" />
|
||||
<xs:element name="SignatureAlgorithm" type="xs:anyURI" />
|
||||
<xs:element name="EncryptionAlgorithm" type="xs:anyURI" />
|
||||
<xs:element name="CanonicalizationAlgorithm" type="xs:anyURI" />
|
||||
<xs:element name="ComputedKeyAlgorithm" type="xs:anyURI" />
|
||||
<xs:element name="Encryption" type="wst:EncryptionType" />
|
||||
<xs:complexType name="EncryptionType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ProofEncryption" type="wst:ProofEncryptionType" />
|
||||
<xs:complexType name="ProofEncryptionType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="UseKey" type="wst:UseKeyType" />
|
||||
<xs:complexType name="UseKeyType">
|
||||
<xs:sequence>
|
||||
<xs:any minOccurs="0" namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Sig" type="xs:anyURI" use="optional" />
|
||||
</xs:complexType>
|
||||
<xs:element name="KeyWrapAlgorithm" type="xs:anyURI" />
|
||||
<xs:element name="SignWith" type="xs:anyURI" />
|
||||
<xs:element name="EncryptWith" type="xs:anyURI" />
|
||||
<xs:element name="DelegateTo" type="wst:DelegateToType" />
|
||||
<xs:complexType name="DelegateToType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Forwardable" type="xs:boolean" />
|
||||
<xs:element name="Delegatable" type="xs:boolean" />
|
||||
<xs:element name="Participants" type="wst:ParticipantsType" />
|
||||
<xs:complexType name="ParticipantsType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Primary" type="wst:ParticipantType" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="Participant" type="wst:ParticipantType" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ParticipantType">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
@@ -0,0 +1,270 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns="http://www.w3.org/1999/xhtml" targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h1>About the XML namespace</h1>
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
This schema document describes the XML namespace, in a form
|
||||
suitable for import by other schema documents.
|
||||
</p>
|
||||
<p>
|
||||
See <a href="http://www.w3.org/XML/1998/namespace.html">
|
||||
http://www.w3.org/XML/1998/namespace.html</a> and
|
||||
<a href="http://www.w3.org/TR/REC-xml">
|
||||
http://www.w3.org/TR/REC-xml</a> for information
|
||||
about this namespace.
|
||||
</p>
|
||||
<p>
|
||||
Note that local names in this namespace are intended to be
|
||||
defined only by the World Wide Web Consortium or its subgroups.
|
||||
The names currently defined in this namespace are listed below.
|
||||
They should not be used with conflicting semantics by any Working
|
||||
Group, specification, or document instance.
|
||||
</p>
|
||||
<p>
|
||||
See further below in this document for more information about <a href="#usage">how to refer to this schema document from your own
|
||||
XSD schema documents</a> and about <a href="#nsversioning">the
|
||||
namespace-versioning policy governing this schema document</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="lang">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h3>lang (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
is a language code for the natural language of the content of
|
||||
any element; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML specification.</p>
|
||||
</div>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h4>Notes</h4>
|
||||
<p>
|
||||
Attempting to install the relevant ISO 2- and 3-letter
|
||||
codes as the enumerated possible values is probably never
|
||||
going to be a realistic possibility.
|
||||
</p>
|
||||
<p>
|
||||
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
|
||||
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
|
||||
and the IANA language subtag registry at
|
||||
<a href="http://www.iana.org/assignments/language-subtag-registry">
|
||||
http://www.iana.org/assignments/language-subtag-registry</a>
|
||||
for further information.
|
||||
</p>
|
||||
<p>
|
||||
The union allows for the 'un-declaration' of xml:lang with
|
||||
the empty string.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:union memberTypes="xs:language">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="space">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h3>space (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose
|
||||
value is a keyword indicating what whitespace processing
|
||||
discipline is intended for the content of the element; its
|
||||
value is inherited. This name is reserved by virtue of its
|
||||
definition in the XML specification.</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="default" />
|
||||
<xs:enumeration value="preserve" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="base" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h3>base (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
provides a URI to be used as the base for interpreting any
|
||||
relative URIs in the scope of the element on which it
|
||||
appears; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML Base specification.</p>
|
||||
<p>
|
||||
See <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
|
||||
for information about this attribute.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="id" type="xs:ID">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h3>id (as an attribute name)</h3>
|
||||
<p>
|
||||
denotes an attribute whose value
|
||||
should be interpreted as if declared to be of type ID.
|
||||
This name is reserved by virtue of its definition in the
|
||||
xml:id specification.</p>
|
||||
<p>
|
||||
See <a href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
|
||||
for information about this attribute.
|
||||
</p>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attributeGroup name="specialAttrs">
|
||||
<xs:attribute ref="xml:base" />
|
||||
<xs:attribute ref="xml:lang" />
|
||||
<xs:attribute ref="xml:space" />
|
||||
<xs:attribute ref="xml:id" />
|
||||
</xs:attributeGroup>
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h3>Father (in any context at all)</h3>
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
denotes Jon Bosak, the chair of
|
||||
the original XML Working Group. This name is reserved by
|
||||
the following decision of the W3C XML Plenary and
|
||||
XML Coordination groups:
|
||||
</p>
|
||||
<blockquote>
|
||||
<p>
|
||||
In appreciation for his vision, leadership and
|
||||
dedication the W3C XML Plenary on this 10th day of
|
||||
February, 2000, reserves for Jon Bosak in perpetuity
|
||||
the XML name "xml:Father".
|
||||
</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div xml:id="usage" id="usage" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h2>
|
||||
<a name="usage">About this schema document</a>
|
||||
</h2>
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
This schema defines attributes and an attribute group suitable
|
||||
for use by schemas wishing to allow <code>xml:base</code>,
|
||||
<code>xml:lang</code>, <code>xml:space</code> or
|
||||
<code>xml:id</code> attributes on elements they define.
|
||||
</p>
|
||||
<p>
|
||||
To enable this, such a schema must import this schema for
|
||||
the XML namespace, e.g. as follows:
|
||||
</p>
|
||||
<pre>
|
||||
<schema . . .>
|
||||
. . .
|
||||
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
||||
</pre>
|
||||
<p>
|
||||
or
|
||||
</p>
|
||||
<pre>
|
||||
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
|
||||
</pre>
|
||||
<p>
|
||||
Subsequently, qualified reference to any of the attributes or the
|
||||
group defined below will have the desired effect, e.g.
|
||||
</p>
|
||||
<pre>
|
||||
<type . . .>
|
||||
. . .
|
||||
<attributeGroup ref="xml:specialAttrs"/>
|
||||
</pre>
|
||||
<p>
|
||||
will define a type which will schema-validate an instance element
|
||||
with any of those attributes.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<div id="nsversioning" xml:id="nsversioning" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<h2>
|
||||
<a name="nsversioning">Versioning policy for this schema document</a>
|
||||
</h2>
|
||||
<div class="bodytext">
|
||||
<p>
|
||||
In keeping with the XML Schema WG's standard versioning
|
||||
policy, this schema document will persist at
|
||||
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd</a>.
|
||||
</p>
|
||||
<p>
|
||||
At the date of issue it can also be found at
|
||||
<a href="http://www.w3.org/2001/xml.xsd">
|
||||
http://www.w3.org/2001/xml.xsd</a>.
|
||||
</p>
|
||||
<p>
|
||||
The schema document at that URI may however change in the future,
|
||||
in order to remain compatible with the latest version of XML
|
||||
Schema itself, or with the XML namespace itself. In other words,
|
||||
if the XML Schema or XML namespaces change, the version of this
|
||||
document at <a href="http://www.w3.org/2001/xml.xsd">
|
||||
http://www.w3.org/2001/xml.xsd
|
||||
</a>
|
||||
will change accordingly; the version at
|
||||
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd
|
||||
</a>
|
||||
will not change.
|
||||
</p>
|
||||
<p>
|
||||
Previous dated (and unchanging) versions of this schema
|
||||
document are at:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||
http://www.w3.org/2009/01/xml.xsd</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.w3.org/2007/08/xml.xsd">
|
||||
http://www.w3.org/2007/08/xml.xsd</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.w3.org/2004/10/xml.xsd">
|
||||
http://www.w3.org/2004/10/xml.xsd</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.w3.org/2001/03/xml.xsd">
|
||||
http://www.w3.org/2001/03/xml.xsd</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:schema>
|
@@ -0,0 +1,213 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" xmlns="http://www.w3.org/2001/XMLSchema">
|
||||
<simpleType name="CryptoBinary">
|
||||
<restriction base="base64Binary" />
|
||||
</simpleType>
|
||||
<element name="Signature" type="ds:SignatureType" />
|
||||
<complexType name="SignatureType">
|
||||
<sequence>
|
||||
<element ref="ds:SignedInfo" />
|
||||
<element ref="ds:SignatureValue" />
|
||||
<element minOccurs="0" ref="ds:KeyInfo" />
|
||||
<element minOccurs="0" maxOccurs="unbounded" ref="ds:Object" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<element name="SignatureValue" type="ds:SignatureValueType" />
|
||||
<complexType name="SignatureValueType">
|
||||
<simpleContent>
|
||||
<extension base="base64Binary">
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
<element name="SignedInfo" type="ds:SignedInfoType" />
|
||||
<complexType name="SignedInfoType">
|
||||
<sequence>
|
||||
<element ref="ds:CanonicalizationMethod" />
|
||||
<element ref="ds:SignatureMethod" />
|
||||
<element maxOccurs="unbounded" ref="ds:Reference" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType" />
|
||||
<complexType name="CanonicalizationMethodType" mixed="true">
|
||||
<sequence>
|
||||
<any minOccurs="0" maxOccurs="unbounded" namespace="##any" />
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required" />
|
||||
</complexType>
|
||||
<element name="SignatureMethod" type="ds:SignatureMethodType" />
|
||||
<complexType name="SignatureMethodType" mixed="true">
|
||||
<sequence>
|
||||
<element minOccurs="0" name="HMACOutputLength" type="ds:HMACOutputLengthType" />
|
||||
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required" />
|
||||
</complexType>
|
||||
<element name="Reference" type="ds:ReferenceType" />
|
||||
<complexType name="ReferenceType">
|
||||
<sequence>
|
||||
<element minOccurs="0" ref="ds:Transforms" />
|
||||
<element ref="ds:DigestMethod" />
|
||||
<element ref="ds:DigestValue" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
<attribute name="URI" type="anyURI" use="optional" />
|
||||
<attribute name="Type" type="anyURI" use="optional" />
|
||||
</complexType>
|
||||
<element name="Transforms" type="ds:TransformsType" />
|
||||
<complexType name="TransformsType">
|
||||
<sequence>
|
||||
<element maxOccurs="unbounded" ref="ds:Transform" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="Transform" type="ds:TransformType" />
|
||||
<complexType name="TransformType" mixed="true">
|
||||
<choice minOccurs="0" maxOccurs="unbounded">
|
||||
<any namespace="##other" processContents="lax" />
|
||||
<element name="XPath" type="string" />
|
||||
</choice>
|
||||
<attribute name="Algorithm" type="anyURI" use="required" />
|
||||
</complexType>
|
||||
<element name="DigestMethod" type="ds:DigestMethodType" />
|
||||
<complexType name="DigestMethodType" mixed="true">
|
||||
<sequence>
|
||||
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</sequence>
|
||||
<attribute name="Algorithm" type="anyURI" use="required" />
|
||||
</complexType>
|
||||
<element name="DigestValue" type="ds:DigestValueType" />
|
||||
<simpleType name="DigestValueType">
|
||||
<restriction base="base64Binary" />
|
||||
</simpleType>
|
||||
<element name="KeyInfo" type="ds:KeyInfoType" />
|
||||
<complexType name="KeyInfoType" mixed="true">
|
||||
<choice maxOccurs="unbounded">
|
||||
<element ref="ds:KeyName" />
|
||||
<element ref="ds:KeyValue" />
|
||||
<element ref="ds:RetrievalMethod" />
|
||||
<element ref="ds:X509Data" />
|
||||
<element ref="ds:PGPData" />
|
||||
<element ref="ds:SPKIData" />
|
||||
<element ref="ds:MgmtData" />
|
||||
<any namespace="##other" processContents="lax" />
|
||||
</choice>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<element name="KeyName" type="string" />
|
||||
<element name="MgmtData" type="string" />
|
||||
<element name="KeyValue" type="ds:KeyValueType" />
|
||||
<complexType name="KeyValueType" mixed="true">
|
||||
<choice>
|
||||
<element ref="ds:DSAKeyValue" />
|
||||
<element ref="ds:RSAKeyValue" />
|
||||
<any namespace="##other" processContents="lax" />
|
||||
</choice>
|
||||
</complexType>
|
||||
<element name="RetrievalMethod" type="ds:RetrievalMethodType" />
|
||||
<complexType name="RetrievalMethodType">
|
||||
<sequence>
|
||||
<element minOccurs="0" ref="ds:Transforms" />
|
||||
</sequence>
|
||||
<attribute name="URI" type="anyURI" />
|
||||
<attribute name="Type" type="anyURI" use="optional" />
|
||||
</complexType>
|
||||
<element name="X509Data" type="ds:X509DataType" />
|
||||
<complexType name="X509DataType">
|
||||
<sequence maxOccurs="unbounded">
|
||||
<choice>
|
||||
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType" />
|
||||
<element name="X509SKI" type="base64Binary" />
|
||||
<element name="X509SubjectName" type="string" />
|
||||
<element name="X509Certificate" type="base64Binary" />
|
||||
<element name="X509CRL" type="base64Binary" />
|
||||
<any namespace="##other" processContents="lax" />
|
||||
</choice>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<complexType name="X509IssuerSerialType">
|
||||
<sequence>
|
||||
<element name="X509IssuerName" type="string" />
|
||||
<element name="X509SerialNumber" type="integer" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="PGPData" type="ds:PGPDataType" />
|
||||
<complexType name="PGPDataType">
|
||||
<choice>
|
||||
<sequence>
|
||||
<element name="PGPKeyID" type="base64Binary" />
|
||||
<element minOccurs="0" name="PGPKeyPacket" type="base64Binary" />
|
||||
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</sequence>
|
||||
<sequence>
|
||||
<element name="PGPKeyPacket" type="base64Binary" />
|
||||
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
||||
</sequence>
|
||||
</choice>
|
||||
</complexType>
|
||||
<element name="SPKIData" type="ds:SPKIDataType" />
|
||||
<complexType name="SPKIDataType">
|
||||
<sequence maxOccurs="unbounded">
|
||||
<element name="SPKISexp" type="base64Binary" />
|
||||
<any minOccurs="0" namespace="##other" processContents="lax" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="Object" type="ds:ObjectType" />
|
||||
<complexType name="ObjectType" mixed="true">
|
||||
<sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<any namespace="##any" processContents="lax" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
<attribute name="MimeType" type="string" use="optional" />
|
||||
<attribute name="Encoding" type="anyURI" use="optional" />
|
||||
</complexType>
|
||||
<element name="Manifest" type="ds:ManifestType" />
|
||||
<complexType name="ManifestType">
|
||||
<sequence>
|
||||
<element maxOccurs="unbounded" ref="ds:Reference" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<element name="SignatureProperties" type="ds:SignaturePropertiesType" />
|
||||
<complexType name="SignaturePropertiesType">
|
||||
<sequence>
|
||||
<element maxOccurs="unbounded" ref="ds:SignatureProperty" />
|
||||
</sequence>
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<element name="SignatureProperty" type="ds:SignaturePropertyType" />
|
||||
<complexType name="SignaturePropertyType" mixed="true">
|
||||
<choice maxOccurs="unbounded">
|
||||
<any namespace="##other" processContents="lax" />
|
||||
</choice>
|
||||
<attribute name="Target" type="anyURI" use="required" />
|
||||
<attribute name="Id" type="ID" use="optional" />
|
||||
</complexType>
|
||||
<simpleType name="HMACOutputLengthType">
|
||||
<restriction base="integer" />
|
||||
</simpleType>
|
||||
<element name="DSAKeyValue" type="ds:DSAKeyValueType" />
|
||||
<complexType name="DSAKeyValueType">
|
||||
<sequence>
|
||||
<sequence minOccurs="0">
|
||||
<element name="P" type="ds:CryptoBinary" />
|
||||
<element name="Q" type="ds:CryptoBinary" />
|
||||
</sequence>
|
||||
<element minOccurs="0" name="G" type="ds:CryptoBinary" />
|
||||
<element name="Y" type="ds:CryptoBinary" />
|
||||
<element minOccurs="0" name="J" type="ds:CryptoBinary" />
|
||||
<sequence minOccurs="0">
|
||||
<element name="Seed" type="ds:CryptoBinary" />
|
||||
<element name="PgenCounter" type="ds:CryptoBinary" />
|
||||
</sequence>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<element name="RSAKeyValue" type="ds:RSAKeyValueType" />
|
||||
<complexType name="RSAKeyValueType">
|
||||
<sequence>
|
||||
<element name="Modulus" type="ds:CryptoBinary" />
|
||||
<element name="Exponent" type="ds:CryptoBinary" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
</schema>
|
280
utils/ipn_sqlclr/XmlReaderSpy.cs
Normal file
280
utils/ipn_sqlclr/XmlReaderSpy.cs
Normal file
@@ -0,0 +1,280 @@
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Web.Services.Protocols;
|
||||
using System.Xml;
|
||||
using System.IO;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
public class XmlReaderSpy : StreamReader
|
||||
{
|
||||
private readonly StringBuilder _sb = new StringBuilder();
|
||||
public XmlReaderSpy(Stream stream, Encoding encoding, bool p, int bufferSize) : base(stream, encoding, p, bufferSize)
|
||||
{
|
||||
}
|
||||
|
||||
public override int Read(char[] buffer, int index, int count)
|
||||
{
|
||||
var ret = base.Read(buffer, index, count);
|
||||
if(ret > 0)
|
||||
_sb.Append(buffer, index, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public override string ReadToEnd()
|
||||
{
|
||||
var ret = base.ReadToEnd();
|
||||
_sb.Append(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public override string ReadLine()
|
||||
{
|
||||
var ret = base.ReadLine();
|
||||
_sb.Append(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public override int ReadBlock(char[] buffer, int index, int count)
|
||||
{
|
||||
return Read(buffer, index, count);
|
||||
}
|
||||
|
||||
public string Xml
|
||||
{
|
||||
get { return _sb.ToString().Replace("<?xml version='1.0' encoding='UTF-8'?>", ""); }
|
||||
}
|
||||
}
|
||||
|
||||
public class XmlWriterSpy : XmlWriter
|
||||
{
|
||||
private readonly XmlWriter _base;
|
||||
private readonly XmlTextWriter _xtw;
|
||||
private readonly StringWriter _sw;
|
||||
|
||||
/// <summary>
|
||||
/// Extracted XML.
|
||||
/// </summary>
|
||||
public string Xml
|
||||
{
|
||||
get
|
||||
{
|
||||
return (_sw != null) ? _sw.ToString() : string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public XmlWriterSpy(XmlWriter parent)
|
||||
{
|
||||
_base = parent;
|
||||
_sw = new StringWriter();
|
||||
_xtw = new XmlTextWriter(_sw);
|
||||
}
|
||||
|
||||
#region Abstract properties and methods that must be implemented
|
||||
|
||||
public override WriteState WriteState
|
||||
{
|
||||
get
|
||||
{
|
||||
return _base.WriteState;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Close()
|
||||
{
|
||||
_base.Close();
|
||||
_xtw.Close();
|
||||
_sw.Close();
|
||||
}
|
||||
|
||||
public override void Flush()
|
||||
{
|
||||
_base.Flush();
|
||||
_xtw.Flush();
|
||||
_sw.Flush();
|
||||
}
|
||||
|
||||
public override string LookupPrefix(string ns)
|
||||
{
|
||||
return _base.LookupPrefix(ns);
|
||||
}
|
||||
|
||||
public override void WriteBase64(byte[] buffer, int index, int count)
|
||||
{
|
||||
_base.WriteBase64(buffer, index, count);
|
||||
_xtw.WriteBase64(buffer, index, count);
|
||||
}
|
||||
|
||||
public override void WriteCData(string text)
|
||||
{
|
||||
_base.WriteCData(text);
|
||||
_xtw.WriteCData(text);
|
||||
}
|
||||
|
||||
public override void WriteCharEntity(char ch)
|
||||
{
|
||||
_base.WriteCharEntity(ch);
|
||||
_xtw.WriteCharEntity(ch);
|
||||
}
|
||||
|
||||
public override void WriteChars(char[] buffer, int index, int count)
|
||||
{
|
||||
_base.WriteChars(buffer, index, count);
|
||||
_xtw.WriteChars(buffer, index, count);
|
||||
}
|
||||
|
||||
public override void WriteComment(string text)
|
||||
{
|
||||
_base.WriteComment(text);
|
||||
_xtw.WriteComment(text);
|
||||
}
|
||||
|
||||
public override void WriteDocType(string name, string pubid, string sysid, string subset)
|
||||
{
|
||||
_base.WriteDocType(name, pubid, sysid, subset);
|
||||
_xtw.WriteDocType(name, pubid, sysid, subset);
|
||||
}
|
||||
|
||||
public override void WriteEndAttribute()
|
||||
{
|
||||
_base.WriteEndAttribute();
|
||||
_xtw.WriteEndAttribute();
|
||||
}
|
||||
|
||||
public override void WriteEndDocument()
|
||||
{
|
||||
_base.WriteEndDocument();
|
||||
_xtw.WriteEndDocument();
|
||||
}
|
||||
|
||||
public override void WriteEndElement()
|
||||
{
|
||||
_base.WriteEndElement();
|
||||
_xtw.WriteEndElement();
|
||||
}
|
||||
|
||||
public override void WriteEntityRef(string name)
|
||||
{
|
||||
_base.WriteEntityRef(name);
|
||||
_xtw.WriteEntityRef(name);
|
||||
}
|
||||
|
||||
public override void WriteFullEndElement()
|
||||
{
|
||||
_base.WriteFullEndElement();
|
||||
_xtw.WriteFullEndElement();
|
||||
}
|
||||
|
||||
public override void WriteProcessingInstruction(string name, string text)
|
||||
{
|
||||
_base.WriteProcessingInstruction(name, text);
|
||||
_xtw.WriteProcessingInstruction(name, text);
|
||||
}
|
||||
|
||||
public override void WriteRaw(string data)
|
||||
{
|
||||
_base.WriteRaw(data);
|
||||
_xtw.WriteRaw(data);
|
||||
}
|
||||
|
||||
public override void WriteRaw(char[] buffer, int index, int count)
|
||||
{
|
||||
_base.WriteRaw(buffer, index, count);
|
||||
_xtw.WriteRaw(buffer, index, count);
|
||||
}
|
||||
|
||||
public override void WriteStartAttribute(string prefix, string localName, string ns)
|
||||
{
|
||||
_base.WriteStartAttribute(prefix, localName, ns);
|
||||
_xtw.WriteStartAttribute(prefix, localName, ns);
|
||||
}
|
||||
|
||||
public override void WriteStartDocument(bool standalone)
|
||||
{
|
||||
_base.WriteStartDocument(standalone);
|
||||
_xtw.WriteStartDocument(standalone);
|
||||
}
|
||||
|
||||
public override void WriteStartDocument()
|
||||
{
|
||||
_base.WriteStartDocument();
|
||||
_xtw.WriteStartDocument();
|
||||
}
|
||||
|
||||
public override void WriteStartElement(string prefix, string localName, string ns)
|
||||
{
|
||||
_base.WriteStartElement(prefix, localName, ns);
|
||||
_xtw.WriteStartElement(prefix, localName, ns);
|
||||
}
|
||||
|
||||
public override void WriteString(string text)
|
||||
{
|
||||
_base.WriteString(text);
|
||||
_xtw.WriteString(text);
|
||||
}
|
||||
|
||||
public override void WriteSurrogateCharEntity(char lowChar, char highChar)
|
||||
{
|
||||
_base.WriteSurrogateCharEntity(lowChar, highChar);
|
||||
_xtw.WriteSurrogateCharEntity(lowChar, highChar);
|
||||
|
||||
}
|
||||
|
||||
public override void WriteWhitespace(string ws)
|
||||
{
|
||||
_base.WriteWhitespace(ws);
|
||||
_xtw.WriteWhitespace(ws);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class XmlReaderSpyService : SoapHttpClientProtocol
|
||||
{
|
||||
protected XmlReaderSpyService(X509Certificate clientCert, string url)
|
||||
{
|
||||
Url = url;
|
||||
ClientCertificates.Add(clientCert);
|
||||
}
|
||||
|
||||
private XmlReaderSpy _xmlReaderSpy;
|
||||
private XmlWriterSpy _xmlWriterSpy;
|
||||
|
||||
public string GetRequestXml()
|
||||
{
|
||||
if (_xmlWriterSpy != null)
|
||||
return _xmlWriterSpy.Xml;
|
||||
return string.Empty;
|
||||
}
|
||||
public string GetResponseXml()
|
||||
{
|
||||
if (_xmlReaderSpy != null)
|
||||
{
|
||||
return _xmlReaderSpy.Xml;
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
protected override XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
|
||||
{
|
||||
Encoding encoding = Encoding.UTF8;
|
||||
if (bufferSize < 0x200)
|
||||
{
|
||||
bufferSize = 0x200;
|
||||
}
|
||||
var reader = new XmlTextReader(_xmlReaderSpy = new XmlReaderSpy(message.Stream, encoding, true, bufferSize))
|
||||
{
|
||||
DtdProcessing = DtdProcessing.Prohibit,
|
||||
Normalization = true,
|
||||
XmlResolver = null
|
||||
};
|
||||
return reader;
|
||||
}
|
||||
|
||||
protected override XmlWriter GetWriterForMessage(SoapClientMessage message, int bufferSize)
|
||||
{
|
||||
_xmlWriterSpy = new XmlWriterSpy(base.GetWriterForMessage(message, bufferSize));
|
||||
return _xmlWriterSpy;
|
||||
}
|
||||
}
|
||||
}
|
130
utils/ipn_sqlclr/ipn_sqlclr.sqlproj
Normal file
130
utils/ipn_sqlclr/ipn_sqlclr.sqlproj
Normal file
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>ipn_sqlclr</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{046364af-635b-4f62-9c8c-d3866b8f622f}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>ipn_sqlclr</RootNamespace>
|
||||
<AssemblyName>ipn_sqlclr</AssemblyName>
|
||||
<ModelCollation>1033, CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<PermissionSet>UNSAFE</PermissionSet>
|
||||
<GenerateCreateScript>True</GenerateCreateScript>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<!-- VS10 without SP1 will not have VisualStudioVersion set, so do that here -->
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="Web References\" />
|
||||
<Folder Include="Web References\certificateManagementService\" />
|
||||
<Folder Include="Web References\policyService\" />
|
||||
<Folder Include="Web References\signDataService\" />
|
||||
<Folder Include="Web References\veriSignCertIssuingService\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="VmpLicenseKey.cs" />
|
||||
<Compile Include="keygen.cs" />
|
||||
<Compile Include="Taggant.cs" />
|
||||
<Compile Include="Web References\certificateManagementService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\policyService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\signDataService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\veriSignCertIssuingService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TaggantWebService.cs" />
|
||||
<Compile Include="LogItem.cs" />
|
||||
<Compile Include="XmlReaderSpy.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\CertificateEnrollmentPolicy.wsdl">
|
||||
<Link>Web References\CertificateEnrollmentPolicy.wsdl</Link>
|
||||
</None>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\CertificateManagementService.wsdl">
|
||||
<Link>Web References\CertificateManagementService.wsdl</Link>
|
||||
</None>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\SignerAPI.wsdl">
|
||||
<Link>Web References\SignerAPI.wsdl</Link>
|
||||
</None>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\UserManagementService.wsdl">
|
||||
<Link>Web References\UserManagementService.wsdl</Link>
|
||||
</None>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\VS_WSTEP.wsdl">
|
||||
<Link>Web References\VS_WSTEP.wsdl</Link>
|
||||
</None>
|
||||
<None Include="C:\Users\Youra\Documents\GitHub\my-vmprotect\tagg\ws-trust-1.3-verisign.wsdl">
|
||||
<Link>Web References\ws-trust-1.3-verisign.wsdl</Link>
|
||||
</None>
|
||||
<None Include="ipn_sqlclr.publish.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\bc\crypto\crypto.csproj">
|
||||
<Name>crypto</Name>
|
||||
<Project>{38872a5f-e87e-4fad-b109-8eb7b2e6a4a0}</Project>
|
||||
<Private>True</Private>
|
||||
<IsModelAware>True</IsModelAware>
|
||||
<GenerateSqlClrDdl>True</GenerateSqlClrDdl>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
212
utils/ipn_sqlclr/keygen.cs
Normal file
212
utils/ipn_sqlclr/keygen.cs
Normal file
@@ -0,0 +1,212 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Numerics;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace ipn_sqlclr
|
||||
{
|
||||
enum SerialNumberChunks : byte
|
||||
{
|
||||
Version = 0x01, // 1 byte of data - version
|
||||
UserName = 0x02, // 1 + N bytes - length + N bytes of customer's name (without enging \0).
|
||||
Email = 0x03, // 1 + N bytes - length + N bytes of customer's email (without ending \0).
|
||||
ProductCode = 0x07, // 8 bytes - used for decrypting some parts of exe-file
|
||||
UserData = 0x08, // 1 + N bytes - length + N bytes of user data
|
||||
MaxBuild = 0x09, // 4 bytes - (year << 16) + (month << 8) + (day)
|
||||
End = 0xFF // 4 bytes - checksum: the first four bytes of sha-1 hash from the data before that chunk
|
||||
};
|
||||
|
||||
public static class Rsa
|
||||
{
|
||||
private const string PublicExpB64 = "AAEAAQ==";
|
||||
private const string PrivateExpB64 = "CXHXWx/Z9JqetQWwFpvmD72wrDiqQOXMQs18fhAMjWCfJ/f2r3p2io+iB3gqIuu3LGH3WJ8PQuIzvDMnbwAx+8BbAyYhWhGEbxDdifndjQ2KlDV2Hu8NQgCbc5Wjok0rKwQ+Bxeb2i1+Gu3FsnhRNv9RhSyiwcnH/4Q3+ySE3AFAcAUwuQABePjDKCYOfIyx7RKz5h0sG+v10nkPuuCGPSnh+AXDTBIJFH+yNIjkrfweC9A3dv7URyRJumAMgm/SnDU76rTkFw9vZpupQeMtMtIsZIkeFSngip9KImD5zzbb2vKD63Cg9W/Yvqgvro/d+cR5n6P0t4DzfanNIFRGpFrX8/Q5VjuezDKw/4YbsFYwOhzJPRxglmCEjh8cpfxJ11cUXa/hNBV4c4Dp29D0F+w01OlBnFb1Ck9VXur2qJCsqcWtjsnt/VITsxa1jzr+3C2+uvaI4JSd7yLEnTqSaSsRfWuhDXgjY/YWhmyvMzeQeXBGOXKt2j2lY2Fm0WJx";
|
||||
private const string ModulusB64 = "pwUqwaM8IOukyx06Lvi5YNQ70JE7pwg7K+pmM/vCe1CUseHKFM1v1m11geDjVsAt38AnaiFs3JhtTs80ySCIxOSyvMw6Cd52k6N6dn7LAx1mxQLJLhYeMMJYbplMHnMLwYN0+IO58OVbEqRyaJV2ExolnK2EYZL7QRXujGY7/sOoOMF3p6GsWJK6kkBJICIoL9hHWBQMO6/9rmls/+EhaWuP80Vx0+H2OlrQ58K+TJeyE393cvb4QufiEPpCNaB50Klee9QUnsjSW/bTnmGn4Bi5+cowRbawUY73Q5I58fMAXiH9ueDPuNMR9YKDgW9GxunLmYkbuwqIp/v7kw3cfMBM0ihhB0B8UhjyAMAGLzJWX3H/H6Zrz41g9PbPjTAxfsTaCrxoqjaTaO4zk9YsI//VX9Fhivcy913SevBpNandziGfYH/oHW2xDy9AfwkE1wuIBlLj7c/k8U1YmmRAmkoCzlmB7EU4ClNltboh1uARUQ6wW30upppnuYhGkTy7";
|
||||
|
||||
static BigInteger B2Bi(byte[] b) //reverse & make positive
|
||||
{
|
||||
Array.Reverse(b);
|
||||
var b2 = new byte[b.Length + 1];
|
||||
Array.Copy(b, b2, b.Length);
|
||||
return new BigInteger(b2);
|
||||
}
|
||||
|
||||
private static readonly BigInteger PublicExp = B2Bi(Convert.FromBase64String(PublicExpB64));
|
||||
private static readonly BigInteger PrivateExp = B2Bi(Convert.FromBase64String(PrivateExpB64));
|
||||
private static readonly BigInteger Modulus = B2Bi(Convert.FromBase64String(ModulusB64));
|
||||
|
||||
public static byte[] Encrypt(byte[] paddedData)
|
||||
{
|
||||
var x = B2Bi(paddedData);
|
||||
var y = BigInteger.ModPow(x, PrivateExp, Modulus);
|
||||
|
||||
byte[] ret = y.ToByteArray();
|
||||
Array.Resize(ref ret, paddedData.Length);
|
||||
Array.Reverse(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static byte[] Decrypt(byte[] data)
|
||||
{
|
||||
var x = B2Bi(data);
|
||||
var y = BigInteger.ModPow(x, PublicExp, Modulus);
|
||||
|
||||
byte[] ret = y.ToByteArray();
|
||||
Array.Reverse(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
public static class Keygen
|
||||
{
|
||||
public static void ParseKey(string key, out int productId, out string customerName, out string eMail, out DateTime maxBuildDt)
|
||||
{
|
||||
productId = -1;
|
||||
customerName = null;
|
||||
eMail = null;
|
||||
maxBuildDt = new DateTime();
|
||||
|
||||
var crypted = Convert.FromBase64String(key);
|
||||
var data = Rsa.Decrypt(crypted);
|
||||
int i;
|
||||
for (i = 2; i < data.Length && data[i] != 0; i++) {
|
||||
}
|
||||
|
||||
i++;
|
||||
var pos = i;
|
||||
while (pos < data.Length)
|
||||
{
|
||||
var b = data[pos++];
|
||||
switch (b)
|
||||
{
|
||||
case (byte) SerialNumberChunks.Version:
|
||||
b = data[pos++];
|
||||
if (b < 1 || b > 2)
|
||||
throw new InvalidDataException("SerialNumberChunks.Version");
|
||||
break;
|
||||
case (byte) SerialNumberChunks.UserName:
|
||||
b = data[pos++];
|
||||
customerName = Encoding.UTF8.GetString(data, pos, b);
|
||||
pos += b;
|
||||
break;
|
||||
case (byte) SerialNumberChunks.Email:
|
||||
b = data[pos++];
|
||||
eMail = Encoding.UTF8.GetString(data, pos, b);
|
||||
pos += b;
|
||||
break;
|
||||
case (byte)SerialNumberChunks.ProductCode:
|
||||
pos += 8;
|
||||
break;
|
||||
case (byte) SerialNumberChunks.UserData:
|
||||
b = data[pos++];
|
||||
if (b == 0)
|
||||
productId = 0;
|
||||
else if(b != 1)
|
||||
throw new InvalidDataException("Invalid ProductID");
|
||||
else
|
||||
productId = data[pos];
|
||||
pos += b;
|
||||
break;
|
||||
case (byte) SerialNumberChunks.MaxBuild:
|
||||
maxBuildDt = new DateTime(data[pos + 2] + 256 * data[pos + 3], data[pos + 1],data[pos]);
|
||||
pos += 4;
|
||||
break;
|
||||
case (byte) SerialNumberChunks.End:
|
||||
if (pos + 4 > data.Length)
|
||||
throw new InvalidDataException("No checksum");
|
||||
{
|
||||
SHA1 sha = new SHA1Managed();
|
||||
sha.Initialize();
|
||||
var hash = sha.ComputeHash(data, i, pos - 1 - i);
|
||||
for (int j = 0; j < 4; j++)
|
||||
{
|
||||
if(data[pos + j] == hash[3 - j])
|
||||
continue;
|
||||
throw new InvalidDataException("Invalid checksum");
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
throw new InvalidDataException("No checksum");
|
||||
}
|
||||
|
||||
public static string GenerateKey(int productId, string customerName, string eMail, DateTime maxBuildDt)
|
||||
{
|
||||
var data = new MemoryStream();
|
||||
data.WriteByte((byte)SerialNumberChunks.Version);
|
||||
data.WriteByte(1);
|
||||
|
||||
data.WriteByte((byte)SerialNumberChunks.UserName);
|
||||
var utfCustomer = Encoding.UTF8.GetBytes(customerName);
|
||||
if (utfCustomer.Length > 255)
|
||||
throw new ArgumentException("Customer name too long", "customerName");
|
||||
data.WriteByte((byte)utfCustomer.Length);
|
||||
data.Write(utfCustomer, 0, utfCustomer.Length);
|
||||
|
||||
data.WriteByte((byte)SerialNumberChunks.Email);
|
||||
byte[] utfeMail = Encoding.UTF8.GetBytes(eMail);
|
||||
if (utfeMail.Length > 255)
|
||||
throw new ArgumentException("EMail too long", "eMail");
|
||||
data.WriteByte((byte)utfeMail.Length);
|
||||
data.Write(utfeMail, 0, utfeMail.Length);
|
||||
|
||||
data.WriteByte((byte)SerialNumberChunks.ProductCode);
|
||||
data.Write(new byte[] { 41, 65, 36, 150, 5, 175, 174, 137 }, 0, 8);
|
||||
|
||||
data.WriteByte((byte)SerialNumberChunks.UserData);
|
||||
data.WriteByte(1);
|
||||
data.WriteByte((byte)productId);
|
||||
|
||||
data.WriteByte((byte)SerialNumberChunks.MaxBuild);
|
||||
data.WriteByte((byte)maxBuildDt.Day);
|
||||
data.WriteByte((byte)maxBuildDt.Month);
|
||||
data.WriteByte((byte)maxBuildDt.Year);
|
||||
data.WriteByte((byte)(maxBuildDt.Year >> 8));
|
||||
|
||||
SHA1 sha = new SHA1Managed();
|
||||
sha.Initialize();
|
||||
data.Position = 0;
|
||||
var hash = sha.ComputeHash(data);
|
||||
data.WriteByte((byte)SerialNumberChunks.End);
|
||||
data.WriteByte(hash[3]);
|
||||
data.WriteByte(hash[2]);
|
||||
data.WriteByte(hash[1]);
|
||||
data.WriteByte(hash[0]);
|
||||
|
||||
const int minPadding = 8 + 3;
|
||||
const int maxPadding = minPadding + 16;
|
||||
const int maxBytes = 3072 / 8;
|
||||
if (data.Length + minPadding > maxBytes)
|
||||
throw new ApplicationException("Serial number too long");
|
||||
|
||||
var rnd = new Random();
|
||||
var paddingBytes = rnd.Next(minPadding, maxPadding + 1);
|
||||
if (data.Length + paddingBytes > maxBytes)
|
||||
paddingBytes = maxBytes - (int)data.Length;
|
||||
|
||||
var paddedData = new byte[maxBytes];
|
||||
var nonPaddedData = data.ToArray();
|
||||
Array.Copy(nonPaddedData, paddedData, paddingBytes);
|
||||
Array.Copy(nonPaddedData, 0, paddedData, paddingBytes, data.Length);
|
||||
paddedData[0] = 0;
|
||||
paddedData[1] = 2;
|
||||
paddedData[paddingBytes - 1] = 0;
|
||||
var i = 2;
|
||||
for (; i < paddingBytes - 1; i++) {
|
||||
byte b = 0;
|
||||
while (b == 0) {
|
||||
b = (byte)rnd.Next(256);
|
||||
}
|
||||
paddedData[i] = b;
|
||||
}
|
||||
i = nonPaddedData.Length + paddingBytes;
|
||||
while (i < maxBytes) {
|
||||
paddedData[i++] = (byte)rnd.Next(256);
|
||||
}
|
||||
|
||||
var res = Convert.ToBase64String(Rsa.Encrypt(paddedData), Base64FormattingOptions.InsertLineBreaks);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user