小编Don*_*net的帖子

使用Java PKCS#11读取DoD通用访问卡

我已经研究了如何使用Sun PKCS#11 api访问DoD CAC,并可能使用CAC访问(只读)Active Directory。我的问题是,我在大多数情况下发现的内容将引用某些代码,但从不显示引用的代码。我找到了以下代码,但给出了错误。是否有人知道将PKCS11用于CAC的任何代码示例或清晰的文档?还是可能有效的API解决方案?

import java.io.*;
import java.util.*;
import java.security.cert.CertificateException;
import java.security.KeyStoreException;
import java.security.cert.X509Certificate;
import java.security.KeyStore;
import java.security.Provider;
import java.security.Security;


public class SmartCard {
    public static void main(String[] args) throws Exception {
        try {
            String configName = "pkcs11.properties";
            Provider p = new sun.security.pkcs11.SunPKCS11(configName);
            Security.addProvider(p);
            Console c = System.console();
            char[] pin = c.readPassword("Enter your PIN: ");
            KeyStore cac = null;
            cac = KeyStore.getInstance("PKCS11");
            cac.load(null, pin);
            showInfoAboutCAC(cac);
        }
        catch(Exception ex) {
            ex.printStackTrace();
            System.exit(0);
        }
    }
    public static void showInfoAboutCAC(KeyStore ks) throws …
Run Code Online (Sandbox Code Playgroud)

java pkcs#11 cac

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

标签 统计

cac ×1

java ×1

pkcs#11 ×1