2017-03-23 15 views
1

私は現在、パスワードを返すapi呼び出しの成功後にpdfを解読できるプロジェクトに取り組んでいます。 私はSOとpdftron SDKを閲覧しましたが、このパスワードをセキュリティハンドラに挿入する方法については決定的な解決策が見つかりません。 GetSecurityHandler()方法のパスワードをpdfセキュリティハンドラに渡す

なしパスワードの挿入を処理するように見えるん:

SecurityHandler handler = m_PdfDocument.GetSecurityHandler(); 

は、パスワード文字列を取りますが、エラーがスローされます。

m_PdfDocument.InitStdSecurityHandler(pwd); 

エラー:メッセージ:私は試してみました

物事標準のセキュリティハンドラではありません。カスタムフィルタを登録する必要があります。

メッセージから判断すると、私は代わりにm_PdfDocument.InitSecurityHandler()が必要だと思っていましたが、その方法は文字列を取るのではなく、intだけです。

誰でも私を正しいトラックに突き当てることができますか?

+0

だろうが、あなたは、このようなFoxitの/アドビとして、PDFリーダーでPDFを開くことができますか?これはパスワードで保護されたファイル、または特定のファイルのみで起こりますか?ファイルを暗号化しましたか?どうやって? – Ryan

+0

別の読者は、ファイルが暗号化されていると言います。私たちが開く必要があるファイルは、暗号化された教育用ファイルです。彼らは私たちが働いている別の会社によって作成されています、彼らは学習障害を持つ学生にpdfのDRM保護を提供します、私たちのttsソフトウェアは、成功したapicall後にファイルを解読することができます。呼び出しが成功した場合は、パスワードが返されます。すべては順序です、私は解読のためにpdfにパスワードを入れなければなりません。ユーザーはパスワードを知ることができないので、プログラムでパスワードを渡す必要があります。 –

+0

また、暗号化自体はpdftronで開発されていますが、私たちが協力している会社によって委託されています。いくつかの研究の後で、カスタムセキュリティハンドラをID(渡す必要があるint)で初期化する必要があると判断しましたが、プログラムしていないので、どちらも考えられません。 –

答えて

1

ファイルを送信いただきありがとうございます。このファイルはカスタム暗号化を使用して暗号化されています。あなたのDRM PDFリーダーはファイルを開くことはできませんが、独自のカスタムPDFリーダーを開くことはできません。

PDFNetを使用してPDFを開くには、最初にファイルがどのように暗号化されているかを調べる必要があります。暗号化を行った他のチームも、少なくともテスト目的のために解読していたと思いますか?

Encryption sampleの例3のように簡単な場合があります。この場合、他のチームが使用したフィルタ名で登録するだけで済みます。私はそれが何であるかを知っていると思うが、ここには投稿しないで、代わりにあなたにメールする。

しかし、PDFが「フロド」と呼ばれるフィルターで暗号化された場合は他の人のために、それは

CreateDelegate frodo_del = new CreateDelegate(FrodoSecurityHandler.Create); 
SecurityManagerSingleton.Instance().RegisterSecurityHandler("Frodo", new SecurityDescriptor("Frodo Security", frodo_del)); 
0
あなたは InitSecurityHandler() intを取るので、あなたがプログラミングのための親指のこの

string password = "9quali52ty3"; 

    // Convert the string into a byte[]. 
    byte[] asciiBytes = Encoding.ASCII.GetBytes(password); 
    string compiledBytes = System.Text.Encoding.ASCII.GetString(asciiBytes); 
    int convertedBytes = int.Parse(compiledBytes); 
    m_PdfDocument.InitSecurityHandler(convertedBytes); 
    m_PdfDocument.GetSecurityHandler(); 

良いルールを行うことができますので、別のハンドラを初期化した後、まあthisページによると、GetSecurityHandler()が使用されている

:常にへの道がありますあるデータ型から別のデータ型に移る。 以下のページで@Brig Lamoreaux、@ Zanoni、@Brandonを提供します。
BrigZanoniBrandon

関連する問題