問題タブ [pki]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - CA からの PKCS12 Java キーストアと Java のユーザー証明書
私は最近、Apple 製品 (iPhone 構成ユーティリティ) の Java でのモックアップを担当しています。私が少し行き詰まっているセクションの 1 つは、Exchange ActiveSync に関する部分です。そこで、キーチェーンから証明書を選択して、EAS アカウントの資格情報として使用できます。調査の結果、実際には PKCS12 キーストアを作成し、選択した証明書の秘密鍵を挿入し、それを XML にエンコードしていることがわかりました。これまでのところ大したことではありません。キーチェーン アクセスで .p12 ファイルを作成すると、問題なくアップロードされます。しかし、それをJavaに持ち込もうとすると問題が発生します。
以前に .p12 ファイルで使用した証明書の 1 つを .cer ファイルとしてエクスポートするとします (これは、環境で取得することを期待しているものです)。これをJavaにアップロードすると、次のようにCertificateオブジェクトを取得します...
でもやってみると…
私は例外を取得します...
したがって、証明書からキーに移動します。しかし、これらの証明書 (私は CA 証明書も取得しました) を使用すると、秘密鍵ではなく公開鍵にしかアクセスできません。そして、そのように公開鍵を追加しようとすると...
私は...
だから今、私はここにいます。秘密鍵を.cerファイルからJavaのPKCS12キーストアに取得する方法を知っている人はいますか? 私は正しい軌道に乗っていますか?
前もって感謝します!
java - Authenticode、SPC、Java CodeSignの違いは?
ほとんどの CA は、Verisign や Certum など、さまざまな「製品」でコード署名証明書を販売しています。
Microsoft Authenticode - 「EXE、OCX、DLL、bla ... に署名できます。」
Java CodeSign - 「Java コードに署名できます」
ソフトウェア発行者証明書 - 「ソフトウェアに署名できます」
さて、私はこれについて本当に混乱しています。価格を除いて、これらすべての製品の違いは何ですか? 気になったので、Verisign や他の CA に何度か質問しましたが、回答がありませんでした。
Certum CA から Authenticode 証明書を取得しました。私はそれを Internet Explorer に登録し、PKCS#12 PFX としてエクスポートし、約束どおり EXE、DLL などに署名することができました。
今...このPFXをkeytoolでJavaにインポートしようとした後、JARに署名しようとしました。そしてそれは働いた!
そして、製品として謎の「ソフトウェア発行元証明書」があります。私はそれで何に署名できる/すべきかわかりません... Mac?Linux? 「Microsoft Authenticode」もソフトウェア発行者証明書ではありませんか? EXEは「ソフトウェア」ではありませんか?それは本当に私を混乱させます。
そこで、私の質問は次のとおりです。Microsoft Authenticode 証明書を注文した場合、それを使用して JAR ファイルや可能であれば他のコンテンツに署名することは違法ですか? これらの証明書の間に技術的な違いはないようです。これらの製品はすべて、同じコード署名 EKU-OID "1.3.6.1.5.5.7.3.3" を持っている必要があります。これは、EXE、JAR、Adobe Air、およびそこに存在するものとの間で何の違いもありません。では、すべての「CodeSigning」証明書が技術的に同等である場合、「Java 開発者」または「Windows 開発者」または「ソフトウェア開発者」のいずれになりたいかを決定する必要があるのはなぜですか?
たぶん、証明書にまだ違いがありますか?署名に Authenticode-certs を使用すると、JAR で十分な権限が得られない可能性がありますか?
(PS: 私は自分のソフトウェアを商業的に使用していません!)
java - SCEP 要求からの Java PKIHeader
最近、単純な CA/SCEP サーバーの開発を検討し始めました。CA は大した問題ではありませんでしたが (CA も大した問題ではありませんでした)、SCEP サーバーの特定の場所でちょっとしたループが発生しました。
これまでのところ、「GetCACert」および「GetCACaps」リクエストに正しく応答しています。現在、「PKIOperation」リクエストに応答しようとしています。私は実際に、リクエストを使用して証明書を作成し、署名して、すべての良いものを作成できます。問題は、応答にいくつかの「属性」を追加する必要があることです...
具体的には、受信者ナンス。
問題は、最初のリクエストから属性を取得するのに苦労していることです。reciepientNonce は senderNonce のコピーである必要があるため、PKIOperation メッセージからその特定の属性を引き出そうとしています。これまでの私のコードは次のとおりです...
シーケンスは有効ですが、コメントアウトされた行はすべて失敗します。何かご意見は?
ありがとう!
django - DjangoおよびCommonAccessCards(CAC)
Pythonで書かれたWebアプリが計画されており、Djangoはフレームワークとしての主要な候補です。
1つの要件はCACアクセスであり、ユーザー名とパスワードを手動で入力する必要はありません。私の知る限り、CACアクセスはDjangoに含まれている「バッテリー」の一部ではありません。
モノリシックフレームワーク(必ずしも悪い属性ではありません)として、Djangoには、コアを変更するとメンテナンスが高くなるという担当者がいます。DjangoサイトにCACアクセスを簡単に追加できますか?その後も簡単にメンテナンスできますか?
それとも、別のPythonフレームワークを検討する必要がありますか?
参考までに..CACアクセスリンクに関する興味深いプレゼンテーション
java - PKI の質問です。鍵の有効性
ファイルが必要です: Java コードでデジタル署名を作成および検証するために使用するキー ペアを含む .der ファイルと .p12 ファイルです。
両方のキーを MySql-Database-Table -> キー (id、publicKey、privateKey、validity) に保存する必要があります。
両方のキーを読み取ることは今のところ大きな問題ではありませんが、Java でそれらの有効性に関する情報を読み取る方法がわかりません。出来ますか?
誰かがその例を挙げてもらえますか?
タンク、
ムール
cryptography - パスワードで保護された PGP 秘密鍵を公開したままにしても安全ですか?
私の PGP 秘密鍵は常にパスワードで保護されています。つまり、私の秘密鍵にアクセスするには、対称鍵を使用して復号化する必要があります。
パスワードで保護された PGP 秘密鍵を公開することに関心がありますが、何か不足しているかどうかは完全にはわかりません。秘密鍵を自分のコンピューターに保存することは、物事を難しくしているように見えますが (難読化によるセキュリティ)、実際には何の役にも立ちません。
256 ビット AES http://en.wikipedia.org/wiki/Key_size#Symmetric_algorithm_key_lengthsで秘密鍵をパスワード保護できることを考慮して
また、ブルート フォースを使用して 2^n パスワードをクラックするために必要なエネルギーには理論上の限界があること http://en.wikipedia.org/wiki/Brute_force_attack#Theoretical_limits
私は何が欠けていますか?
c# - C# のみを使用してプログラムで X509 証明書を生成することは可能ですか?
C# とBouncyCastleライブラリを使用して、X509 証明書 (秘密キーを含む) をプログラムで生成しようとしています。Felix Kollmann によるこのサンプルのコードの一部を使用してみましたが、証明書の秘密鍵部分が null を返します。コードと単体テストは次のとおりです。
単体テスト:
openssl - SSL/PKI について学べるすべてのことを学ぶのに役立つ本は何ですか?
SSL は安全なインターネット (現在は技術的に TLS と呼ばれています) のバックボーンであるため、そのすべての側面を理解するために読むべき良い本は何ですか?
数学、PKI の本、暗号、およびシステム管理の本も学ぶ必要があると思います。それは完全なリストではないので、あなたが何を学ぶのが賢明だと思うかを聞くことに興味があります.
pki - PKI-認証局
プログラミング言語、データベース、opensslなどに関してCAを実装するための最良のテクノロジーは何ですか
python - PythonでCRLを解析する(簡単な)方法はありますか?
私はばかげたことをしようとしています: CRL をロードし、失効した証明書シリアルのリストを出力します。
M2Crypto のロードでは、CRL は次のように実行されます。
しかし、返されたオブジェクトには有用なものが1つしかないことに本当に驚いています
いくつかの正規表現を使用して、出力を解析して、取り消されたシリアルを取得できます。しかし、それを行う別の方法はありますか?
参考までに、従来の CRL の as_text 出力を次に示します。