如何与PHP中的PKCS#11符合HSM设备接口
如何在php应用程序中使用PKCS#11符合HSM的关键材料(例如,SafeNet IKey 2032 [USB]或Aladdin Etkoken Pro [USB]) 解决方案 我尚未看到,并且找不到粗略的搜索,PCKS#11 GLUE库用于PHP.可能不是您要寻找的答案. (:如果您比我更好的搜索fu,请更新此线程. 我认为您最好的选择是编写一个C程序,该程序调用PKCS#11并访问HSM,并将其从PHP应用程序称为外部二进制.即使出现了PHP的PKCS#11包装器,此方法也会为您提供C代码可用的完整API,而不必与满足自己要求的包装器所需的任何作者一起做. PKCS#11是一个大型API,包装器实施通常不完整. 其他解决方案 您需要查看 pkcs11-helper 来自OpenSC项目.如果您尝试直接从php 直接访问PKCS#11模块,这将是一种困难. 其他解决方案 您应该使用PHP-PKCS11,该PHP-PKCS11允许根据OASIS组织的PKCS11
0 2023-05-30
编程技术问答社区
PHP导出Excel到特定路径?
是否可以将php mysql Excel表导出到指定的路径,例如USB闪存驱动器. 它是因为我将PHP用作销售点,而我现在想要的就是单击按钮 - 它将从MySQL数据库中收集记录,并将其作为Excel或CSV文件导出到USB Flash Drive. . 我已经尝试将其谷歌搜索,但我似乎找不到任何东西. 谢谢. 解决方案 您需要编写文件.要写入USB驱动器,您只需要指定正确的文件路径即可.如果您在 *nix上,则就像/media/USB/在Linux上或Mac上的/Volumes/USB/.对于Windows,它就像F:/. 如此粗略的例子就像 $a = array('1','2','3'); //This is imaginable row from MySQL $f = fopen('F:/mycsv.csv', 'w'); fputcsv($f, $a); fclose($f); fputcsv手册是在这里.. 如果需要,您可以以您的应用程序
0 2023-05-29
编程技术问答社区
在php中打开com端口
我有一个USB 3G调制解调器华为E1550和Windows XP. 我想通过此调制解调器php发送短信. 我使用此功能打开调制解调器com端口: $fp = fopen ("COM3:", "wb+"); if (!$fp) { echo "Not open"; } else { echo "Open"; } 每当我遇到错误时: 警告:fopen(com3 :) [function.fopen]:无法打开流:d:\ apache \ htdocs \ z91.ru \ audio \ audio \ audio \ test.php in 3 解决方案 您也可以尝试删除comn旁边的结肠以工作 exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off"); $fp = fopen ("COM3", "w"); if (!$fp) { echo "Not open"; }
0 2023-05-28
编程技术问答社区
c#.NET USB设备的持久性标识符
我正在寻找C#中的一种方法,可以使用USB插槽的标识符(跨用户拔下枢纽/重新启动其计算机),更具体地说是SD卡读取器.驱动器字母并不总是分配给同一插槽,但是我需要一种方法来识别插槽.因为一旦我可以识别它,我就可以与驱动器字母建立连接. 所以我的问题: 这是可能的吗? 如果是这样,我将如何获得这些标识符? 解决方案 WMI类Win32_USBHUB. ManagementObjectSearcher sidQuery = new ManagementObjectSearcher("Select * From Win32_USBHub"); ManagementObjectCollection results = sidQuery.Get(); List deviceID = new List(); foreach (ManagementObject result in results) { deviceID.Add(resu
0 2023-05-25
编程技术问答社区
绕过安卓5.1的USB主机权限确认对话框
我想在行业中使用Android, 我可以使用slickdevlabs.com库将profilic和ftdi usb连接到串行芯片. 该应用程序具有服务,它从启动开始,连接到USB串行端口并执行其他操作. 我的问题是主机设备与用户没有任何交互, 所以当Android询问 时 允许应用程序" myApp"访问USB设备? [CheckMark]默认使用此USB设备 取消确定 没有人点击确定. 即使我默认检查使用...复选框,如果我重新插入USB或重新启动主机设备,它也会在下一个启动上再次询问. 在此链接中提到了答案: 旁观Android USB主机许可确认对话框 但是这些代码适用于: "请注意,这些类的接口可能会根据Android的版本而改变.在我的情况下,版本为4.0.3.因此,如果您有另一个版本的Android,并且此代码不起作用,则必须检查用于检查源代码您的特定版本OS." 所以我需要Android 5.1的相同代码 解决方案 自从
0 2023-05-25
编程技术问答社区
安卓usb枚举
我正在编写一个Android USB主机应用程序,我正在尝试列举与平板电脑连接的设备.我遵循开发人员网站中Android USB主机文档中的代码. 我的代码如下 androidusbactivity public class AndroidUSBActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); USBClass usb = new USBClass(); ArrayList deviceList = usb.GetUSBDevices(getBaseContext()
2 2023-05-25
编程技术问答社区
通过android.hardware.usb获得的USB权限不适用于NDK
我能够获得通过Android的USB主机API与设备通信的许可. private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION"; protected void execute(Context ctxt) { UsbManager manager = (UsbManager) viewer.getSystemService(Context.USB_SERVICE); HashMap deviceList = manager.getDeviceList(); UsbDevice d = null; for (String s : deviceList.keySet()) { d = deviceList.get(s); } PendingIntent mPermis
0 2023-05-25
编程技术问答社区
安卓USB主机。我如何在不显示对话框的情况下获得使用USB设备的许可?
那里的Android设备没有屏幕.连接USB设备时,会自动出现系统对话框,以允许使用USB.在不使用设备屏幕的情况下,必须获得许可证. 假定设备应用程序将提前安装,并​​且当USB设备自动连接时. 到底怎么可以做到这一点? 解决方案 i用类比在主题中.正确版本的SDK的类 .我创建必要的软件包,并复制到指定的和缺少的类.该应用程序应复制到文件夹系统/Priv-App 中,并全部赚取. 其他解决方案 在清单文件中添加到活动 ...
0 2023-05-25
编程技术问答社区
绕过安卓usb主机权限确认对话框
我想在行业中使用Android, 我可以使用slickdevlabs.com库将profilic和ftdi usb连接到串行芯片. 该应用程序具有服务,它从启动开始,连接到USB串行端口并执行其他操作. 我的问题是主机设备与用户没有任何交互, 所以当Android询问 时 Allow the app "MyAPP" to access the USB device ? [checkmark]Use by default for this USB device Cancel OK 没有人点击确定. 即使我默认检查使用...复选框,如果我重新插入USB或重新启动主机设备,它也会在下一个启动上再次询问. 我使用超级用户模式运行了服务和应用程序,但没有区别,它再次询问. 我添加了意图过滤器,但没有区别,每次都问我.
0 2023-05-25
编程技术问答社区
用iTextSharp 5.3.3和USB令牌签署PDF
我是ItextSharp(和Stackoverflow)的新手.我正在尝试使用外部USB令牌在C#中签署PDF.我尝试使用我从Internet挖掘的以下代码. Org.BouncyCastle.X509.X509CertificateParser cp = new Org.BouncyCastle.X509.X509CertificateParser(); //Get Sertifiacte X509Certificate2 certClient = null; X509Store st = new X509Store(StoreName.My, StoreLocation.CurrentUser); st.Open(OpenFlags.MaxAllowed); X509Certificate2Collection collection = X509Certificate2UI.SelectFromCollection(st.Certificates, "Please choos
0 2023-05-22
编程技术问答社区
如何从作为usb大容量存储器的设备中获取文件路径?
我试图从充当USB质量存储的Garmin设备中获取文件名(以及Filepath).将设备连接到计算机,filepath是g:\ garmin.使用OTG和Explorer连接到Android平板电脑(我有检查应用程序设置 - 软件包名称为:com.android.rk),FilePath是USB/Garmin.使用ES File Explorer,我已经看到文件路径是MNT/USB_Storage/Garmin.因此,在代码中,当我试图从文件路径USB_Storage/Garmin中解析system.xml时,我将filepath放在这样: String file = Environment.getExternalStorageDirectory() + "mnt/usb_storage/Garmin/system.xml"; 当我运行该应用程序时,它会崩溃,这意味着它找不到文件 system.xml .当我在通过OTG连接的USB设备中查找文件时,我使用verigens.ge
2 2023-05-21
编程技术问答社区
linux/libusb获取usb设备路径
我使用libusb列举了一些USB设备.现在,我喜欢获得"设备路径".我认为它不是被称为USB设备路径,因为我没有使用Google成功. 如果我将USB设备与Linux连接起来,我会在dmesg中收到一条消息,这里有一些使用USB温度传感器的"设备路径"的示例(类似于 this ): 直接到USB端口: [68448.099682] generic-usb 0003:0C45:7401.0056: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:12.0-1/input0 => 12.0-1 直接到另一个端口: [68560.853108] generic-usb 0003:0C45:7401.0058: input,hidraw1: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:13.0-1/input
4 2023-05-21
编程技术问答社区
如何获得连接到系统的USB驱动器的目录?
我需要为我正在制作的简单USB质量存储设备浏览器而获得为USB驱动器创建的目录(我认为这是类似/媒体/用户/XXXXX)的路径.谁能建议这样做的最佳/最简单方法?我正在使用Ubuntu 13.10机器,并将在Linux设备上使用它. 需要在python中. 解决方案 这应该使您入门: #!/usr/bin/env python import os from glob import glob from subprocess import check_output, CalledProcessError def get_usb_devices(): sdb_devices = map(os.path.realpath, glob('/sys/block/sd*')) usb_devices = (dev for dev in sdb_devices if 'usb' in dev.split('/')[5]) return di
2 2023-05-21
编程技术问答社区
我怎样才能确定一个给定的驱动器代号是本地、映射的还是USB驱动器?
鉴于驱动器的字母,我该如何确定它是哪种类型的驱动器? 例如,E:\是USB驱动器,网络驱动器还是本地硬盘驱动器. 解决方案 请看System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); foreach (var drive in drives) { string driveName = drive.Name; // C:\, E:\, etc:\ System.IO.DriveType driveType = drive.DriveType; switch (driveType) { case System.IO.DriveType.CDRom: break; case System.IO.DriveType.Fixed: // Local Drive break; case System.IO.DriveType.Network: // Mapped Drive break; case System.I
2 2023-05-21
编程技术问答社区
使用C#在USB上创建多个分区
iam试图使用deviceiocontrol在USB中创建多个部分.它总是只创建一个分区. 这是我的源代码 [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile); [DllImport("kernel32")] static extern int CloseHandle(IntPtr handle); [DllImport("ke
0 2023-05-20
编程技术问答社区
USB主机在控制读取传输结束时,什么时候需要一个零长度的IN数据包?
我正在为USB设备编写代码.假设USB主机启动控制读取传输以从设备读取一些数据,并且请求的数据量(设置数据包中的WLENGTH)是端点0最大数据包大小的倍数.然后,在主机收到所有数据(以最大尺寸数据包的交易形式)之后,它会在交易中启动另一个数据以查看是否还有更多数据,即使没有更多数据? 这是我想知道的事件的示例序列: USB枚举过程:据报道端点0上的最大数据包大小为64. setup-data-ack交易开始控制读取传输,wlength = 128. in-data-ack交易提供了第一个64个字节的数据. in-data-ack事务将最后64个字节传递到主机. in-data-ack带有零长度数据包?这笔交易是否会发生? OUT-DATA-ACK交易完成转移的状态阶段;转移结束了. 我在计算机上对此进行了测试(Windows Vista,如果很重要),并且答案是 no :主机足够聪明,可以知道,即使无法从设备中收到更多数据,即使设备发送的所有数据包均已满(端
0 2023-05-16
编程技术问答社区
使用Pi Zero W来模拟HID键盘和鼠标
我的目的是将PiSerow用作HID键盘和鼠标USB输入设备. 我咨询了以下 HID-REPORT-DESCRIPTORS/链接到USB.org的文档 的良好概述 HID键盘的示例代码,操纵杆,鼠标另外, 我认为我可以将键盘和鼠标描述符组合到一个文件中,将report_id添加到每个文件 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x06, // Usage (Keyboard) 0xA1, 0x01, // Collection (Application) 0x85, 0x01, // Report ID (1) 0x05, 0x07, // Usage Page (Kbrd/Keypad) 0x19, 0xE0, // Usage Minimum (0xE0) 0x29, 0xE7,
64 2023-05-16
编程技术问答社区
Python和Hidapi:试图写一个usb设备时出现参数错误
我正在使用Python 3.9.6来管理HID继电器板我可以使用枚举命令阅读董事会的供应商ID 1305和产品ID 8216,然后我尝试了一些命令: >>> device = hid.Device(1305,8216) >>> device.manufacturer 'Ucreatefun.com' >>> device.product 'HIDRelay' >>> device.serial 'A0001' 现在,我想使用" device.write"来管理板上的继电器,我该怎么做? 从继电器板的手册中: "通道1 Open:0x00 0xf1,关闭:0x00 0x01" 不幸的是,当我尝试此操作时,它不起作用: >>> device.write([0x00,0xF1]) Traceback (most recent call last): File "", line 1, in device.write([0x00
36 2023-05-16
编程技术问答社区
我无法用Ruby的libusb模拟嗅到的URB中断。
嗅探urb_interruptions 我嗅着某些应用程序(SoundLab)和设备(带USB的Sonometer)之间的通信.我发现一个数据包负责返回当前状态: USB URB [Source: host] [Destination: 1.1.2] USBPcap pseudoheader length: 27 IRP ID: 0xffff858d126f4a60 IRP USBD_STATUS: USBD_STATUS_SUCCESS (0x00000000) URB Function: URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER (0x0009) IRP information: 0x00, Direction: FDO -> PDO 0000 000. = Reserved: 0x00 .... ...0 = Direction: FDO ->
4 2023-05-16
编程技术问答社区
如何解析USB设备实例ID(DIID)?
我想知道如何制作"设备实例ID"或如何解析. 以以下字符串为例: USB\VID_093A&PID_2700&MI_00\6&2703A67B&0&0000 据我所知: USB告诉这是USB设备 VID_093A表示其供应商ID 同样,PID_2700是产品ID 但是,我不知道其余的. 解决方案 mi用于多个接口.复合设备具有多个接口. 6&2703A67B&0&0000是实例ID. 开始时的6对应于设备节点深度. 0是根设备(例如,volmgr,acpi_hal,它们具有root \ prefix) 1是ACPI_HAL设备(例如ACPI(使用PNP0C08 \ 0而不是VID/PID/1),它们具有ACPI_HAL \ prefix) 2是ACPI设备(例如root PCI总线控制器(使用PNP0A08 \ 0而不是VID/PID/2),它们具有ACPI \ prefix) 3是PCI设备(例如XHCI控制器,它们具有P
18 2023-05-16
编程技术问答社区