小编Pet*_*y B的帖子

检查是否已加载dll库?(JAVA)

在我编写的Java程序中,我对dll进行jni调用,并在启动时加载库,如下所示

static
{
   System.loadLibrary("LdapAuthenticator2");
}
Run Code Online (Sandbox Code Playgroud)

然后我实现了另一个加载相同库的类,并且收到一个错误,说该库已经加载了,有没有办法检查库是否已经运行?

谢谢,
-Pete

java java-native-interface

14
推荐指数
1
解决办法
3万
查看次数

为什么在Windows服务停止时调用base.OnStop()?

我正在创建一个C#.Net Windows服务,我想知道你是否总是要调用base.OnStop();服务的OnStop()方法,为什么?

protected override void OnStop()
{
    threadRunning = false;

    this.ExitCode = 0;
    base.OnStop();
}
Run Code Online (Sandbox Code Playgroud)

c# windows-services

14
推荐指数
3
解决办法
9580
查看次数

如何通过提供PrivateKey来获取RSA PublicKey?

我正在寻找一个Java函数,它将获得一个RSA PrivateKey并将返回正确的RSA PublicKey?

或者,是否有一个函数可以告诉我们RSA PrivateKey/PublicKey是否有效?

java security cryptography rsa

11
推荐指数
3
解决办法
1万
查看次数

基于Referrer的JavaScript重定向?

无论如何使用javascript获取引用URL,让我们说reffering url是http://page.com/home?local=fr,然后将用户重定向到具有与reffering页面相同的本地的新页面(http: //page.com/login?local= refer local)?

伪代码会是这样的:

var referringURL = document.referrer;
var local = referringURL.substring(referringURL.indexOf("?"), referringURL.length())
var newURL = "http://page.com/login" +local;
Send user to newURL
Run Code Online (Sandbox Code Playgroud)

谢谢,-Pete

javascript redirect referrer

10
推荐指数
1
解决办法
2万
查看次数

从BouncyCastle X509证书获取私钥?C#

通常,当我X509Certificate2从我的密钥库中取出时,我可以调用.PrivateKey以检索证书的私钥AsymmetricAlgorithm.但是我已经决定使用Bouncy Castle并且它的实例X509Certificate只有一个getPublicKey();我看不到从私有密钥中取出证书的方法.有任何想法吗?

我从我的Windows-MY密钥库中获取了X509Certificate2,然后使用:

//mycert is an X509Certificate2 retrieved from Windows-MY Keystore
X509CertificateParser certParser = new X509CertificateParser();
X509Certificate privateCertBouncy = certParser.ReadCertificate(mycert.GetRawCertData());
AsymmetricKeyParameter pubKey = privateCertBouncy.GetPublicKey();
//how do i now get the private key to make a keypair?
Run Code Online (Sandbox Code Playgroud)

无论如何将AsymmetricAlgorithm(C#私钥)转换为AsymmetricKeyParameter(bouncycastle私钥)?

c# bouncycastle x509certificate private-key

10
推荐指数
2
解决办法
3万
查看次数

Tomcat Java Servlet - 在应用程序启动时初始化类

我有一个类需要一些时间来启动(进行一些JNI调用而不是什么),因此每次页面加载时初始化此类是不可行的.是否可以在应用程序启动时初始化此类,然后在提供页面时访问其方法?

例如:

我有MyClass.当应用程序(tomcat)启动时,我希望它初始化我的calss如下:

MyClass myClassInstance = new MyClass("arg1", "arg2");
Run Code Online (Sandbox Code Playgroud)

然后当调用一个页面时,比如/ testpage,我想调用myClassInstance:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import MyClass;

public class TestPage extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        String myResult = myClassInstance.getResult("whatever");

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Test</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>" +myResult +"</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

java tomcat classloader

9
推荐指数
2
解决办法
2万
查看次数

JNI释放内存以避免内存泄漏

所以我有从我的Java程序通过JNI调用的这个C++程序,代码如下:

    JNIEXPORT jstring JNICALL Java_com_entrust_adminservices_urs_examples_authn_LdapAuthenticator2_takeInfo(JNIEnv *env, jobject obj, jstring domain, jstring id, jstring idca, jstring password) 
{
    const char *nt_domain;
    const char *nt_id;
    const char *nt_password;
    HANDLE hToken = 0;

    bool aut = false;

    nt_domain = env->GetStringUTFChars(domain, NULL);
    nt_id = env->GetStringUTFChars(id, NULL);
    nt_password = env->GetStringUTFChars(password, NULL);

      aut = LogonUser(nt_id, nt_domain, nt_password, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken );

      /* release buffers */
    env->ReleaseStringUTFChars(domain, nt_domain);
    env->ReleaseStringUTFChars(id, nt_id);
    env->ReleaseStringUTFChars(password, nt_password);
    /* release the login handle */
    CloseHandle(hToken);

    if(aut)
    {
        return env->NewStringUTF("true"); 
    }

    DWORD dwError = …
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface memory-leaks

8
推荐指数
2
解决办法
1万
查看次数

检测C#中的文件读取

我正在使用FileSystemWatcher检查文件被修改或删除的时间,但我想知道是否有任何方法可以检查其他应用程序何时读取文件.

示例:我的硬盘驱动器上有文件C:\ test.txt,正在使用FileSystemWatcher查看它.另一个程序(不在我的控制之下)去读取该文件; 我想抓住该事件,如果可能的话,检查正在读取文件的程序,然后相应地修改文件的内容.

c# file-io filesystemwatcher

8
推荐指数
1
解决办法
4778
查看次数

PhoneGap/Cordova BlackBerry FileSystem.root总是返回SD卡?

我在BlackBerry上加载了两个应用程序,一个是本机应用程序,另一个是基于PhoneGap/Cordova的应用程序.

这两个应用程序共享一个设置文件: file:///store/home/user/myfile.txt

要通过Cordova访问此文件,我打电话给:

fileSystem.root.getFile("home/user/myfile.txt", null, gotFileEntry, fail);

但是,在某些设备上fileSystem.root返回SDCard目录,而不是存储文件的内部存储器,因此出现FileNotFound错误.

我试过调用fileSystem.root.getParent(gotParent, fail);,希望得到文件系统的根,然后从内部存储器中获取文件,如下所示:

parentDir.getFile("store/home/user/myfile.txt", null, gotFileEntry, fail);

但这也不起作用,我仍然收到一个文件未找到错误.

如何使用PhoneGap/Cordova每次获取内部存储器的根目录?

file-io blackberry sd-card cordova

8
推荐指数
1
解决办法
1868
查看次数

通过Process.Start()调用时,为什么"cmd.exe/C命令"不会结束?

我正在尝试从ASP.Net Web应用程序通过命令提示符运行命令.我可以看到进程在Web服务器上的任务管理器中启动,但是进程只是位于那里并且从不退出也不运行我指定的命令.

            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();

            startInfo.FileName = "cmd.exe";
            startInfo.Arguments = "/C " +command;
            startInfo.UserName = "myuser";
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.Domain = "mydomain";
            startInfo.CreateNoWindow = true;

            String pass = "mypass";
            System.Security.SecureString secPass = new System.Security.SecureString();

            foreach (char c in pass.ToCharArray())
            {
                secPass.AppendChar(c);
            }
            secPass.MakeReadOnly();

            startInfo.Password = secPass;

            process.StartInfo = startInfo;
            process.Start();
            //output = process.StandardOutput.ReadToEnd();
            process.WaitForExit();
            process.Close();
Run Code Online (Sandbox Code Playgroud)

我已经尝试过,无论是否读取标准输出.

应用程序将process.WaitForExit();一直持续到我通过任务管理器终止进程.

c# cmd process

7
推荐指数
1
解决办法
6738
查看次数