小编Var*_*val的帖子

GnuPG的clearsign选项如何工作?

可以使用PGP对文件进行签名,通过clearsign在CMD中执行以下命令来使用选项

gpg --clearsign filename

GnuPG使用什么样的算法来清除选项,这样即使在执行签名之后,输出签名也是可读的?

我阅读了一本手册,说明了clearsign选项是如何工作的,但我无法理解它.它可以在这里找到.

根据手册,盔甲适用于签名,使签名不可读.但问题是清晰度如何使签名可读.

但是,如何控制由哈希算法和加密函数组成的签名输出作为明文?

通过使用散列和加密函数,如何将输出保证为可读的ASCII字符范围?

cryptography gnupg pgp digital-signature

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

不调用Eclipse插件的Activator的start方法

我正在制作一个插件来在Eclipse 4.x中提供Preference Page.

我在Vogella-Preferences上遵循了本教程.

页面的问题是,在我输入一次值,然后退出,然后重新打开首选项后,不保留值.可能的原因可能是未指定PreferenceStore.

以下是首选项页面的代码:

import com.varun.preference.main.Activator;

public class EASEPreferences extends FieldEditorPreferencePage 
                implements IWorkbenchPreferencePage {

    public EASEPreferences(){
        super(GRID);
    }

    @Override
    public void init(IWorkbench workbench) {

        setPreferenceStore(getPreferenceStore());
//      setPreferenceStore(Activator.getDefault().getPreferenceStore());
        setDescription("Final Implementation");
    }

    @Override
    protected void createFieldEditors() {

        addField(new DirectoryFieldEditor("PATH", "Get &Default Keystore:",
                getFieldEditorParent()));

        addField(new BooleanFieldEditor("BOOLEAN_VALUE",
            "&Automatically run scripts that are not signed(Not Recommended)", 
            getFieldEditorParent()));
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,代码正在运行,首选项页面可见,但它没有被保存.

如果我取消注释第二行init方法并先注释,那么错误就说了

com.varun.preference.page_final.EASEPreferences.init(EASEPreferences.java:24)中的java.lang.NullPointerException

Activator.java如下

public class Activator extends AbstractUIPlugin {

    public static Activator plugin;
    public static BundleContext context;

    public Activator() {
    } …
Run Code Online (Sandbox Code Playgroud)

eclipse eclipse-plugin eclipse-rcp

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

如何使用JAVA检查X509证书链的吊销状态?

我有一连串的X509证书,以用户证书开头,以受信任的CA证书结尾。为了进行测试,我正在尝试使用Google证书。

我想检查证书链中每个证书的吊销状态。

我正在使用以下代码:

public static boolean isCertChainValid(ArrayList<X509Certificate> certificateList) {

    try {

        CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");

        CertPath certPath = certificateFactory.generateCertPath(certificateList);

        CertPathValidator validator = CertPathValidator.getInstance("PKIX");

        KeyStore keystore = KeyStore.getInstance("JKS");
        InputStream is = new FileInputStream(System.getProperty("java.home") + "/lib/security/" + "cacerts");
        keystore.load(is, "changeit".toCharArray());

        PKIXParameters params = new PKIXParameters(keystore);

        params.setRevocationEnabled(true);

        Security.setProperty("ocsp.enable", "true");
        System.setProperty("com.sun.net.ssl.checkRevocation", "true");
        System.setProperty("com.sun.security.enableCRLDP", "true");

        PKIXCertPathValidatorResult r = (PKIXCertPathValidatorResult) validator.validate(certPath, params);
        return true;
    } catch (CertificateException e) {
        throw new RuntimeException(e);

    } catch (NoSuchAlgorithmException e) {
        throw new RuntimeException(e);

    } catch (KeyStoreException e) {
        throw …
Run Code Online (Sandbox Code Playgroud)

java security ssl certificate x509certificate

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