RemObjects.InternetPack.NetCertificateBuilder.CreateKeyUseSection C# (CSharp) Метод

CreateKeyUseSection() приватный Метод

private CreateKeyUseSection ( System.Boolean isServer ) : Object
isServer System.Boolean
Результат Object
		private Object CreateKeyUseSection(Boolean isServer)
		{
			// Extended key usage (more info at MSDN)
			//CObjectId lUsageExtension = new CObjectId();
			Type lCObjectIdType = Type.GetTypeFromProgID("X509Enrollment.CObjectId");
			Object lUsageExtension = Activator.CreateInstance(lCObjectIdType);

			//lUsageExtension.InitializeFromValue(isServer ? "1.3.6.1.5.5.7.3.1" : "1.3.6.1.5.5.7.3.2");
			lCObjectIdType.InvokeMember("InitializeFromValue", BindingFlags.InvokeMethod, null, lUsageExtension,
				new object[] { this.GetCertificatePurpose(isServer) });


			//CObjectIds lOidList = new CObjectIds();
			Type lCObjectIdsType = Type.GetTypeFromProgID("X509Enrollment.CObjectIds");
			Object lOidList = Activator.CreateInstance(lCObjectIdsType);

			//lOidList.Add(lUsageExtension);
			lCObjectIdsType.InvokeMember("Add", BindingFlags.InvokeMethod, null, lOidList, new Object[] { lUsageExtension });


			//CX509ExtensionEnhancedKeyUsage lKeyUsage = new CX509ExtensionEnhancedKeyUsage();
			Type lExtensionEnhancedKeyUsageType = Type.GetTypeFromProgID("X509Enrollment.CX509ExtensionEnhancedKeyUsage");
			Object lKeyUsage = Activator.CreateInstance(lExtensionEnhancedKeyUsageType);

			//lKeyUsage.InitializeEncode(lOidList);
			lExtensionEnhancedKeyUsageType.InvokeMember("InitializeEncode", BindingFlags.InvokeMethod, null, lKeyUsage, new Object[] { lOidList });


			return lKeyUsage;
		}