質問編集履歴

1

Java開発で参考にした物を追加しました

2019/07/29 09:58

投稿

rain5100
rain5100

スコア12

test CHANGED
File without changes
test CHANGED
@@ -106,6 +106,86 @@
106
106
 
107
107
 
108
108
 
109
+ Java開発参考にしたサイト
110
+
111
+ (JavaではPem通信について下記のサイトを参考にしました。 こちらの古いのでうまく動きませんでした)
112
+
113
+ 参考:http://omiya6048.hatenablog.com/entry/2013/05/31/210000
114
+
115
+ ```
116
+
117
+ PEMReader pr = new PEMReader(new FileReader("cert.pem"));
118
+
119
+ X509Certificate cert = (X509Certificate) pr.readObject();
120
+
121
+ PEMReader kr = new PEMReader(new FileReader("privkey.pem"),
122
+
123
+ new PasswordFinder() {
124
+
125
+ public char[] getPassword() {
126
+
127
+ return "passphase".toCharArray();
128
+
129
+ }
130
+
131
+ });
132
+
133
+ KeyPair key = (KeyPair) kr.readObject();
134
+
135
+ KeyStore ksKeys = KeyStore.getInstance("JKS");
136
+
137
+ ksKeys.load(null, "passphase".toCharArray());
138
+
139
+ ksKeys.setCertificateEntry("MyCert", cert);
140
+
141
+ ksKeys.setKeyEntry("Mykey", key.getPrivate(),
142
+
143
+ "passphase".toCharArray(), new Certificate[]{cert});
144
+
145
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance(
146
+
147
+ KeyManagerFactory.getDefaultAlgorithm());
148
+
149
+ kmf.init(ksKeys, "passphase".toCharArray());
150
+
151
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance(
152
+
153
+ TrustManagerFactory.getDefaultAlgorithm());
154
+
155
+ tmf.init(ksKeys);
156
+
157
+
158
+
159
+ SSLContext sslContext = SSLContext.getInstance("TLS");
160
+
161
+ sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
162
+
163
+
164
+
165
+ Socket socket = sslContext.getSocketFactory().createSocket(
166
+
167
+ "localhost", 4433);
168
+
169
+ BufferedReader in = new BufferedReader(new InputStreamReader(
170
+
171
+ socket.getInputStream()));
172
+
173
+ PrintWriter out = new PrintWriter(new OutputStreamWriter(
174
+
175
+ socket.getOutputStream()));
176
+
177
+ out.println("Hello World");
178
+
179
+ System.out.println(in.readLine());
180
+
181
+ out.close();
182
+
183
+ in.close();
184
+
185
+ ```
186
+
187
+
188
+
109
189
  ### 試したこと
110
190
 
111
191
  ・Javaでpem通信を行う参考資料を試しましたが、コードが古く動きませんでした