導航:首頁 > 證書轉讓 > 指紋付款證書

指紋付款證書

發布時間:2021-01-27 04:36:06

⑴ 如何獲取數字證書(x509Certificate)中的指紋演算法

創建X509證書方法較多,在Windows 環境下大致總結了幾中辦法,
1) 通過CA獲取證書,
2) 通過微軟提供的makecert 工具得到測試證書
3) 編程的方法創建,.Net提供了 X509Certificate2 類,該類可以用於創建證書,但只能從RawData中創建,創建後無法修改除FriendlyName以外的任何屬性。

我在互聯網上找了很久,始終沒有找到完全通過程序創建自定義的證書的方法。後來想了一個折中辦法,就是用程序調用 makecert.exe 先生成一個證書,證書的一些參數如Subject,有效期,序列號等可以通過參數傳入,然後把生成的證書文件讀到Rawdata中,得到X509Certificate2 類型的證書對象。當然這種方法確實比較笨,必須要依賴外部進程。等後面有時間的話,我還是想按照X509 V3 標准,自己創建RawData,然後生成證書,這樣應該是比較靈活的做法。不知道網友們有沒有什麼更好的方法來創建一個自定義的證書。

通過 makecert.exe 創建X509證書的代碼如下,供大家參考

static object semObj = new object();

/// <summary>
/// 自定義的證書信息
/// </summary>
public class T_CertInfo
{
public String FriendlyName;
public String Subject;
public DateTime BeginDate;
public DateTime EndDate;
public int SerialNumber;
}

/// <summary>
/// 生成X509證書
/// </summary>
/// <param name="makecrtPath">makecert進程的目錄</param>
/// <param name="crtPath">證書文件臨時目錄</param>
/// <param name="certInfo">證書信息</param>
/// <returns></returns>
public static X509Certificate2 CreateCertificate(String makecrtPath, String crtPath,
T_CertInfo certInfo)
{
Debug.Assert(certInfo != null);
Debug.Assert(certInfo.Subject != null);

string MakeCert = makecrtPath + "makecert.exe";
string fileName = crtPath + "cer";

string userName = Guid.NewGuid().ToString();

StringBuilder arguments = new StringBuilder();

arguments.AppendFormat("-r -n \"{0}\" -ss my -sr currentuser -sky exchange ",
certInfo.Subject);

if (certInfo.SerialNumber > 0)
{
arguments.AppendFormat("-# {0} ", certInfo.SerialNumber);
}

arguments.AppendFormat("-b {0} ", certInfo.BeginDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("-e {0} ", certInfo.EndDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("\"{0}\"", fileName);

⑵ 你好,為什麼小米那個指紋支付為啥支付不了啊還有那個證書也下載不了

從你的描述來看,你的小米指紋支付支付不了,而且證書也下載不下來。建議你實名認證一下。如果已經實名認證了,說明有許可權。

⑶ java代碼怎麼獲取數字的證書那一串20位指紋

通過JAVA來讀取數字證書的方法獲取20位指紋:
CARead.java文件代碼:
public class CARead extends JPanel {
private String CA_Name;
private String CA_ItemData[][] = new String[9][2];
private String[] columnNames = { "證書欄位標記", "內容" };
public CARead(String CertName) {
CA_Name = CertName;
/* 三個Panel用來顯示證書內容 */
JTabbedPane tabbedPane = new JTabbedPane();
JPanel panelNormal = new JPanel();
tabbedPane.addTab("普通信息", panelNormal);
JPanel panelAll = new JPanel();
panelAll.setLayout(new BorderLayout());
tabbedPane.addTab("所有信息", panelAll);
JPanel panelBase64 = new JPanel();
panelBase64.setLayout(new BorderLayout());
tabbedPane.addTab("Base64編碼形式的信息", panelBase64);
/* 讀取證書常規信息 */
Read_Normal(panelNormal);
/* 讀取證書文件字元串表示內容 */
Read_Bin(panelAll);
/* 以Base64編碼形式讀取證書文件的信息 */
Read_Raw(panelBase64);
tabbedPane.setSelectedIndex(0);
setLayout(new GridLayout(1, 1));
add(tabbedPane);
}
private int Read_Normal(JPanel panel) {
String Field;
try {
CertificateFactory certificate_factory = CertificateFactory
.getInstance("X.509");
FileInputStream file_inputstream = new FileInputStream(CA_Name);
X509Certificate x509certificate = (X509Certificate) certificate_factory
.generateCertificate(file_inputstream);
Field = x509certificate.getType();
CA_ItemData[0][0] = "類型";
CA_ItemData[0][1] = Field;
Field = Integer.toString(x509certificate.getVersion());
CA_ItemData[1][0] = "版本";
CA_ItemData[1][1] = Field;
Field = x509certificate.getSubjectDN().getName();
CA_ItemData[2][0] = "標題";
CA_ItemData[2][1] = Field;
Field=x509certificate.getNotBefore().toString();//得到開始有效日期
CA_ItemData[3][0] = "開始有效日期";
CA_ItemData[3][1] = Field;
Field=x509certificate. getNotAfter().toString();//得到截止日期
CA_ItemData[4][0] = "截止日期";
CA_ItemData[4][1] = Field;
Field=x509certificate.getSerialNumber().toString(16);//得到序列號
CA_ItemData[5][0] = "序列號";
CA_ItemData[5][1] = Field;
Field=x509certificate.getIssuerDN().getName();//得到發行者名
CA_ItemData[6][0] = "發行者名";
CA_ItemData[6][1] = Field;
Field=x509certificate.getSigAlgName();//得到簽名演算法
CA_ItemData[7][0] = "簽名演算法";
CA_ItemData[7][1] = Field;
Field=x509certificate.getPublicKey().getAlgorithm();//得到公鑰演算法
CA_ItemData[8][0] = "公鑰演算法";
CA_ItemData[8][1] = Field;
//關閉輸入流對象
file_inputstream.close();
final JTable table = new JTable(CA_ItemData, columnNames);
TableColumn tc = null; //表格列控制
tc = table.getColumnModel().getColumn(1);//得到表頭
tc.setPreferredWidth(600);//設置寬度
panel.add(table);//增加到布局面板
} catch (Exception exception) {
exception.printStackTrace(); //異常捕獲、
return -1;
}
return 0;
}
//讀取二進制指紋文件
private int Read_Bin(JPanel panel) {
try {
FileInputStream file_inputstream = new FileInputStream(CA_Name);
DataInputStream data_inputstream = new DataInputStream(
file_inputstream);
CertificateFactory certificatefactory = CertificateFactory
.getInstance("X.509");
byte[] bytes = new byte[data_inputstream.available()];
data_inputstream.readFully(bytes);
ByteArrayInputStream s = new ByteArrayInputStream(bytes);
JEditorPane Cert_EditorPane;
Cert_EditorPane = new JEditorPane();
X509Certificate cert=null;
//遍歷得到所有的證書屬性
if (s.available() > 0)
{
cert = (X509Certificate) certificatefactory .generateCertificate(s);
Cert_EditorPane.setText(cert.toString());
}
Cert_EditorPane.disable();
JScrollPane edit_scroll = new JScrollPane(Cert_EditorPane);
panel.add(edit_scroll);
file_inputstream.close();
data_inputstream.close();
} catch (Exception exception) {
exception.printStackTrace();
return -1;
}
return 0;
}
private int Read_Raw(JPanel panel) {
try {
JEditorPane Cert_EditorPane = new JEditorPane();
StringBuffer strBuffer =new StringBuffer();
File inputFile = new File(CA_Name);
FileReader in = new FileReader(inputFile);
char[] buf = new char[2000];
int len = in.read(buf, 0, 2000);
for (int i = 1; i < len; i++) {
strBuffer.append(buf[i]);
}
in.close();
Cert_EditorPane.setText(strBuffer.toString());
Cert_EditorPane.disable();
JScrollPane edit_scroll = new JScrollPane(Cert_EditorPane);
panel.add(edit_scroll);
} catch (Exception exception) {
exception.printStackTrace();
return -1;
}
return 0;
}
}

⑷ 如何檢查數字證書的指紋 – SSL證書數字簽名網

證書的指紋( certificate』s thumbprint)是獨一無二的標識符。微軟Internet Explorer調用它按手印。瀏覽器傾向於以顯版示它,就好像它是一個部分權的證書。它不是一個證書的一部分,但它是從它計算。
指紋是DER編碼的證書信息,這是一個ASN.1類型的X.509規范的一部分指定為MD5摘要。
證書指紋是摘要(散列函數)的X509證書的二進制格式。它可以計算出不同的演算法,如SHA1為Microsoft Internet Explorer,Netscape Navigator為MD5。
要檢查證書的指紋和/或指紋,請執行以下步驟:
打開IE瀏覽器
轉到「工具」>「Internet選項」
單擊「內容」選項卡>「證書」
在「證書」窗口中,單擊您要檢查的證書(個人,其他人,中級證書頒發機構「,」受信任的根證書頒發機構「選項卡上的)
找到列表中的證書或根
雙擊進入
單擊「詳細信息」選項卡
滾動上按手印
詳細信息將顯示「指紋」

⑸ ssl證書 指紋演算法 是什麼意思

網際網路的 超文本傳輸協議 (HTTP)使用 SSL 來實現安全的通信。 在客戶端與伺服器間傳輸的數據是通過使用對稱算專法(如 DES 或 RC4)進行加密的。公用密鑰演算法(通常為 RSA)是用來屬獲得加密密鑰交換和數字簽名的,此演算法使用伺服器的SSL數字證書...

⑹ pkl證書丟了會不會微信不能指紋支付

如果說你的微信之前錄了指紋的,就沒有關系,就可以用指紋支付,如果之前沒有錄指紋,也許會有點影響,建議要把證書找回來比較好,後續辦起事來也會方便一些

⑺ 計算機的證書中的指紋是什麼意思

是一種形容詞用法,
形容這個證書擁有獨一無二的識別代碼,
而且還是證書隨身攜帶,別人偷不去的意思。就像你的指紋一樣,別人想要有,除非把你的手指切了去。

⑻ TLS/SSL數字證書里的指紋演算法、簽名演算法和簽名哈希演算法各是做什麼用的

你好!

簽名哈希算來法:簽名之自前對證書主體部分進行哈希的演算法,它和簽名演算法結合,是簽名及認證的一部分。
指紋演算法:是對簽名之後的證書文件計算一下散列值,只是用於檢測證書是否被篡改,類似於去網站下載一個安裝包,嚴謹一點的網站會給一個MD5的值,便於你下載之後再MD5一下核對。
證書指紋何時用到?舉個例子,在導入某CA根證書或證書鏈時,會去該CA官方網站下載相關證書,下載好了之後可以手工檢查一下指紋,確認無誤再導入。

⑼ android 指紋證書和包名 怎麼獲取

最近在做Android的平板的開發,想在桌面上預置一些第三方應用的Widget,在桌面預置Widget的方法就是要獲得應用的包名和類名。
桌面預置widget的方法 在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代碼:<appwidget
launcher:packageName="com.google.android.apps.genie.geniewidget"
//預置應用的包名
launcher:className="com.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider"
//預置應用的Provider的類名,不是Activity的類名
launcher:screen="1"//在第幾屏0為第一屏,launcher:x="0"//x坐標launcher:y="0"//y坐標
launcher:spanX="4"//x方向占幾個單元格
launcher:spanY="1"///y方向占幾個單元格
通過logcat有時可以找到應用的包名和Provider類名,此方法不可取,容易出錯。系統的widget可以通過查找相關的源碼找到對應的包名和Provider的類名,但是第三方應用看不到源碼,但是也可以通過反編譯第三方應用,獲得相應的Maifest.xml文件,找到對應的包名和Provider類名,但是此方法比較繁瑣。
可以通過在Launcher中添加如下代碼,可以將系統中所安裝的所有 的widget的信息列印出來:
在Launcher.java中的onCreate方法中添加下面的代碼:
List<=mAppWidgetManager.getInstalledProviders();finalintproviderCount=providers.size();for(inti=0;i<providerCount;i++){
ComponentNameprovider=providers.get(i).provider;Log.i("xxx",
"packagename:"
+provider.getPackageName()+
"classname:"
+provider.getClassName());}新編譯Launcher,把Launcher push進去之後,執行 adb logcat -s xxx,就可以看到列印出來的Log信息,包名和Provider了類名。
桌面預置shortcut的方法:
在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代碼:<favorites

⑽ 數字證書的簽名哈希演算法跟指紋演算法都是指對摘要(指紋的)的編碼嗎

證書簽名來使用的演算法是發布源者自己規定的 使用自己的私鑰對證書編碼的哈希值進行加密 一般演算法為md5withrsa或者sha256withrsa。哈希演算法是唯一的 就是把證書編碼轉換為固定長度的2進制 這個過程不可逆 就是說無法通過哈希值還原證書編碼。指紋演算法就是哈希演算法 一般都是sh1。證書認證的流程是證書所有者把證書和指紋(證書的哈希值並用私鑰加密)發給用戶 用戶根據證書計算出一個哈希值 用公鑰解密指紋得到一個哈希值 看一下兩者是否相同 相同及證明證書未被篡改。演算法是由所有者的私鑰加密的。ca的作用是ca是可以認證一個證書鏈,源頭就是ca 一旦你信任了這個ca 就是信任了ca發布的證書,這樣你與ca發布的證書的所有者通信時可以根據證書鏈找到ca ca可信任了則這個發布者就是可信任的

閱讀全文

與指紋付款證書相關的資料

熱點內容
雲南基金從業資格證書查詢 瀏覽:313
新知識的搖籃創造力 瀏覽:187
股轉轉讓協議 瀏覽:676
王者達摩大發明家 瀏覽:904
金庸為什麼不要版權 瀏覽:305
蘭州經濟糾紛律師 瀏覽:994
沈陽盛唐雍景糾紛 瀏覽:973
工商局生態市建設工作總結 瀏覽:757
侵權責任法第87條的規定 瀏覽:553
招商地塊南側公共服務項目批前公示 瀏覽:208
盤錦公交投訴電話 瀏覽:607
馬鞍山到宿遷汽車時間 瀏覽:215
公共衛生服務的工作目標 瀏覽:813
知識產權服務制度 瀏覽:726
警察管詐騙叫民事糾紛 瀏覽:650
馬鞍山胡駿 瀏覽:110
推動基層公共服務一門式全覆蓋試點工作調研 瀏覽:680
山東省基本公共衛生服務項目實施方案 瀏覽:349
投訴制凝 瀏覽:932
黑警投訴 瀏覽:95