「説明として誤っているものを1つ選んでください」
なので気をつけて解きましょう。
「細かい技術のことはいいから証明書って何だか理解するのも大切」
かと思うんですが
「細かい技術のこと無しに証明書って何だか理解するって丸暗記?」
とも思い
この間を上手に埋めるって方法は何かないものですかねぇ...
ラベル:証明書
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
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 |
EV SSL 証明書も従来の SSL 証明書と同様にセキュアなハッシュ関数を含んでおり多分これは「ハッシュ関数」ではなくて「電子署名」のことを言っているんだと
OCSP 機能では後述のようにブラウザのアドレスバーの表示を緑色に変えることで EV SSL 証明書の有効性を示しますがIE7 などでは緑で表示するのに OCSP でのチェックを通る必要があるのかもしれませんが
[NewRequest]比較的ミニマルな感じで作ってみました。
Subject = "C=JP,ST=Tokyo,L=Chiyoda-ku,O=SSL-PKI,CN=ssl-pki.seesaa.net"
Exportable = TRUE
KeyLength = 2048
MachineKeySet = TRUE
SMIME = FALSE
> certreq -new test.inf test.csrとコマンドを打つと test.csr に CSR が書き出されます。
$ openssl req -x509 -new -out CA.crt -keyout CA.keyこれで test.crt という証明書ができました。
$ openssl x509 -req -in test.csr -CA CA.crt -CAkey CA.key -set_serial 37 -out test.crt
> certreq -accept test.crtこれで「保留中の要求を処理し、証明書をインストールする」と同じ状態になります。
$ openssl req -new -x509 -nodesとすれば秘密鍵がファイルに保存されて証明書が PEM で標準出力に流れます
$ openssl req -x509 -days 10553 -new -nodes | openssl x509 -noout -textとしてみたところ
Validity見事に 2038 年問題が発生しました
Not Before: Feb 27 17:44:15 2009 GMT
Not After : Dec 14 11:15:59 1901 GMT
112:d=3 hl=2 l= 13 prim: UTCTIME :090227174633ZnotBefore と notAfter で型が違っていました
127:d=3 hl=2 l= 15 prim: GENERALIZEDTIME :19011214111817Z
CAs conforming to this profile MUST always encode certificate validity dates through the year 2049 as UTCTimeと書いてあるのに何故 GeneralizedTime が出てくるのでしょう?
111:d=3 hl=2 l= 13 prim: UTCTIME :090227182337Z溢れずに UTCTime で出てきました
126:d=3 hl=2 l= 13 prim: UTCTIME :380119182337Z
a = b × q + rこのとき 0 ≦ r < b の条件の下 q と r は一意
r0 = r1 × q2 + r2 (0 ≦ r2 < r1)ri は 0 以上でどんどん小さくなるのでいつかは 0 となる
r1 = r2 × q3 + r3 (0 ≦ r3 < r2)
r2 = r3 × q4 + r4 (0 ≦ r4 < r3)
・・・
rn-2 = rn-1 × qn + rn (0 ≦ rn <rn-1)
rn-1 = rn × qn+1 + 0
r0 = 1・a + 0・bと表現できたとする
r1 = 0・a + 1・b
ri = xi a + yi b
ri = ri-2 - ri-1 qiつまり
= (xi-2 a + yi-2 b) - (xi-1 a + yi-1 b) qi
= (xi-2 - xi-1 qi) x - (yi-2 - yi-1 qi) b
xi = xi-2 - xi-1 qiという漸化式が成立する
yi = yi-2 - yi-1 qi
def euclid(a, b):とすると
if b == 0: return None
x0, y0, z0 = 1, 0, a
x1, y1, z1 = 0, 1, b
while z1 != 0:
r = z0 % z1
q = z0 / z1
x0, y0, z0, x1, y1, z1 = x1, y1, z1, x0 - x1 * q, y0 - y1 * q, r
return x0, y0, z0
(x, y, z) = euclid(a, b)というわけで最大公約数 z = x a + y b という x, y, z が求まる
if x * a + y * b == z:
print "z is GCD"
(gz yr)(s-1) mod pを考えます. y=gx を使えばこれは
g(z + x r) (s-1) mod pです
gk mod pなので更に mod q とってやれば
((gz yr)(s-1) mod p) mod q = rとなります
((gz yr)(s-1) mod p) mod q = rが成立するかどうか確認すれば良いことになります
この広告は180日以上新しい記事の投稿がないブログに表示されております。