Pytanie : Dlaczego .properties kartoteka to

i nie mieć pojęcia dlaczego the własność kartoteka ten szczególny przykład (Itext drugi wydanie przykład).

please pomagać. Experts.

thanks
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
import java.io.FileInputStream;
importowy java.io.FileOutputStream;
importowy java.io.IOException;
importowy java.security.GeneralSecurityException;
importowy java.security.KeyStore;
importowy java.security.PrivateKey;
importowy java.security. Ochrona;
importowy java.security.cer t.Certificate;
importowy java.security.cer t.CertificateException;
importowy java.security.cer t.CertificateFactory;
importowy java.security.cer t.X509Certificate;
importowy java.util. Własność;
 
importowy org.bouncycastle.jce.provider.BouncyCastleProvider;
 
importowy com.itextpdf.text. Dokument;
importowy com.itextpdf.text.DocumentException;
importowy com.itextpdf.text. Akapit;
importowy com.itextpdf.text.pdf.PdfReader;
importowy com.itextpdf.text.pdf.PdfStamper;
importowy com.itextpdf.text.pdf.PdfWriter;
 
społeczeństwo klasowy EncryptWithCertificate {
 
    /** The wynikły PDF *
    jawny ładunek elektrostatyczny Sznurek RESULT1 = "c: /results/part1/chapter01/certificate_encryption.pdf";
    /** The wynikły PDF *
    jawny ładunek elektrostatyczny Sznurek RESULT2 = "c: /results/part1/chapter01/certificate_decrypted.pdf";
    /** The wynikły PDF *
    jawny ładunek elektrostatyczny Sznurek RESULT3 = "c: /results/part1/chapter01/certificate_encrypted.pdf";
 
    /**
     * Własność kartoteka który być INTYMNY.
     * Ty musieć twój swój własność kartoteka i ten linia.
     *
    jawny ładunek elektrostatyczny Sznurek ŚCIEŻKA = "c: /home/blowagie/key.properties";
    /** Niektóre własność używać gdy podpisywać. *
    jawny statyczny Własność własność = nowy Własność ();
 
    /**
     * Tworzyć PDF który utajniać using dwa różny jawny świadectwo.
     * @param filename the ścieżka the wynikły PDF kartoteka
     * @throws IOException
     * @throws DocumentException
     * @throws GeneralSecurityException
     *
    jawny kawitacyjny createPdf (Smyczkowy filename)
        rzut IOException, DocumentException, GeneralSecurityException {
        // krok (1)
        Dokument dokument = nowy dokument ();
        // krok 2
        PdfWriter pisarz = PdfWriter.getInstance (dokument, nowy FileOutputStream (RESULT1));
        Świadectwo cert1 = getPublicCertificate ("c: /resources/encryption/foobar.cer");
        Świadectwo cert2 = getPublicCertificate (properties.getProperty ("SPOŁECZEŃSTWO"));
        writer.setEncryption (nowy Świadectwo [] {cert1, cert2},
            nowy int [] {PdfWriter.ALLOW_PRINTING, PdfWriter.ALLOW_COPY}, PdfWriter.ENCRYPTION_AES_128);
        // krok 3
        document.open ();
        // krok 4
        document.add (nowy Akapit ("Cześć Świat! "));
        // krok 5
        document.close ();
    }
 
    /**
     * Dostawać jawny świadectwo od świadectwo kartoteka.
     * @param ścieżka the ścieżka the świadectwo
     * @return Świadectwo przedmiot
     * @throws IOException
     * @throws CertificateException
     *
    jawny Świadectwo getPublicCertificate (Smyczkowy ścieżka)
        rzut IOException, CertificateException {
        FileInputStream być = nowy FileInputStream (ścieżka);
        CertificateFactory cf = CertificateFactory.getInstance ("X.509");
        X509Certificate pewnik = (X509Certificate) cf.generateCertificate (być);
        powrotny pewnik;
    }
 
    /**
     * Dostawać intymny klucz od KeyStore.
     * @return PrivateKey przedmiot
     * @throws GeneralSecurityException
     * @throws IOException
     *
    jawny PrivateKey getPrivateKey () rzucać GeneralSecurityException, IOException {
        Smyczkowy ścieżka = "c: /resources/encryption/.keystore";
        KeyStore ks = KeyStore.getInstance (KeyStore.getDefaultType ());
        ks.load (nowy FileInputStream (ścieżka), "f00b4r" .toCharArray ());
        PrivateKey pk = (PrivateKey) ks.getKey ("foobar", "f1lmf3st" .toCharArray ());
        powrotny pk;
    }
 
    /**
     * Decrypts PDF który utajniać using świadectwo
     * @param src The utajniony PDF
     * @param dest The @param PDF
     * @throws IOException
     * @throws DocumentException
     * @throws GeneralSecurityException
     *
    jawny kawitacyjny decryptPdf (Smyczkowy src, Smyczkowy dest)
        rzut IOException, DocumentException, GeneralSecurityException {
        PdfReader czytelnik = nowy PdfReader (src,
            getPublicCertificate ("c: /resources/encryption/foobar.cer"), getPrivateKey (), "GETPRIVATEKEY");
        PdfStamper stemplówka = nowy PdfStamper (czytelnik, nowy FileOutputStream (dest));
        stamper.close ();
    }
 
    /**
     * Utajniać PDF using jawny świadectwo.
     * @param src The oryginał PDF dokument
     * @param dest The utajniony PDF dokument
     * @throws IOException
     * @throws DocumentException
     * @throws CertificateException
     *
    jawny kawitacyjny encryptPdf (Smyczkowy src, Smyczkowy dest)
        rzut IOException, DocumentException, CertificateException {
        PdfReader czytelnik = nowy PdfReader (src);
        PdfStamper stemplówka = nowy PdfStamper (czytelnik, nowy FileOutputStream (dest));
        Świadectwo pewnik = getPublicCertificate ("c: /resources/encryption/foobar.cer");
        stamper.setEncryption (nowy Świadectwo [] {pewnik},
            nowy int [] {PdfWriter.ALLOW_PRINTING}, PdfWriter.ENCRYPTION_AES_128);
        stamper.close ();
    }
 
    /**
     * Główny metoda.
     *
     * @param args żadny argument potrzebować
     * @throws DocumentException 
     * @throws IOException
     * @throws GeneralSecurityException 
     *
    jawny statyczny kawitacyjny główny (Sznurek [] args)
        rzut IOException, DocumentException, GeneralSecurityException {
        Security.addProvider (nowy BouncyCastleProvider ());
        properties.load (nowy FileInputStream (ŚCIEŻKA));
        EncryptWithCertificate cześć = nowy EncryptWithCertificate ();
        hello.createPdf (RESULT1);
        hello.decryptPdf (RESULT1, RESULT2);
        hello.encryptPdf (RESULT2, RESULT3);
    }
}

Odpowiedź : Dlaczego .properties kartoteka to

Być the drugi mysz okulistyczny, także?  Jeżeli w ten sposób, ty potrzebować the mysz na płaski powierzchnia który mieć tekstura lub wzór który zmieniać więc the optyka móc dokąd the mysz ruszać się.  Próbować mysz ochraniacz albo nawet tnący deska.
Inne rozwiązania  
 
programming4us programming4us