Whitepaper

Whitepaper
2048bit 対応差分手順書
2048bit 未満の公開鍵を生成させないための制限方法
(Rev 1)
Page 1
© 2010 VeriSign Japan K.K.
09/21/2010
目
次
1.
概要 …………………………………………………………………………………………………………3
2.
対象のファイル…………………………………………………………………………………………….3
3.
通常のローカルホスティング(Internet Explorer 用)の場合……………………………………...5
4.
通常のローカルホスティング(Firefox 用)の場合…………………………………………………..9
5.
キーマネージャーをお使いのローカルホスティングの場合………………………………………..11
Page 2
© 2010 VeriSign Japan K.K.
09/21/2010
1. 概要
本書は、弊社マネージド PKI ローカルホスティングキットを使用し、ローカルホスティングサイトを
既に構築されたお客様が、同サイトから発行させる証明書を 2048bit 未満で発行させないために、
ローカルホスティング・コンテンツをどのように修正すれば良いかをシステム管理者向けに解説した
ものです。
また本書の内容は、弊社から提供しているローカルホスティング・キットを用いて、標準の構成に変
更を加えていない事を前提としています。お客様側で何らかの変更を加えている場合は、該当箇所を
適宜読み替えてください。
本書の内容についてご不明の点がありましたら、弊社マネージド PKI サポートまでお問い合わせくだ
さい。
2. 対象のファイル
変更する必要の可能性があるファイルは、以下のファイルとなります。
・
通常のローカルホスティング ( Internet Explorer 用 ) の場合
userEnrollMS.htm
userEnrollDualMS.htm
userRenewalMS.htm
userRenewalEncMS.htm
userRenewalSignMS.htm
userRenewalCertMS.asp
userRenewalCertMS.htm
・
通常のローカルホスティング ( Firefox 用 ) の場合
userEnrollNS.htm
userEnrollDualNS.htm
userRenewalNS.htm
userRenewalEncNS.htm
userRenewalSignNS.htm
userRenewalCertNS.asp
userRenewalCertNS.htm
Page 3
© 2010 VeriSign Japan K.K.
09/21/2010
・
キーマネージャーをお使いのローカルホスティング( Internet Explorer 用 ) の場合
userEnrollEncMS.fdf
userEnrollDualMS.fdf
userRenewalEncMS.fdf
・
キーマネージャーをお使いのローカルホスティング(Firefox 用) の場合
userEnrollEncNS.fdf
userEnrollDualNS.fdf
userRenewalEncNS.fdf
Page 4
© 2010 VeriSign Japan K.K.
09/21/2010
3. 通常のローカルホスティング(Internet Explorer 用)の場合
各ファイルの修正のポイントは以下の通りです。
①
"Microsoft Base Cryptographic Provider v1.0" を含む行を探し、それらを全て"Microsoft
Enhanced Cryptographic Provider v1.0" に置換する。
②
cenroll.GenKeyFlags を含む行を探し、その全ての行を cenroll.GenKeyFlags = &h08000000
と編集する。
③
objPrivateKey.Length を含む行を探し、objPrivateKey.Length = 2048 と編集する。
上記修正を「2. 対象ファイル」「通常のローカルホスティング ( Internet Explorer 用 ) の場合」
記載のファイルに対し、実施する必要があります。
(例: ①のケース: userEnrollMS.htm の場合)
(編集前)
set cspInfo = cspInfos.ItemByIndex(i)
If cspInfo.Type = j Then
If Len( cspInfo.Name) = 0 Then
If j < 1 Then
j=j+1
i=0
Else
Exit Sub
End If
Else
If cspInfo.Name <> "Microsoft Base Cryptographic Provider v1.0" Then
set el = document.createElement("OPTION")
el.text = cspInfo.Name
el.value = j
document.all.cryptprov.add(el)
count = count + 1
If el.text = "Microsoft Base Cryptographic Provider v1.0" Then
document.all.cryptprov.selectedIndex = count
End If
If
first = 0 Then
first = 1
document.all.cryptprov.selectedIndex = 0
End If
End If
End If
End If
Page 5
© 2010 VeriSign Japan K.K.
09/21/2010
(編集後)
set cspInfo = cspInfos.ItemByIndex(i)
If cspInfo.Type = j Then
If Len( cspInfo.Name) = 0 Then
If j < 1 Then
j=j+1
i=0
Else
Exit Sub
End If
Else
If cspInfo.Name <> "Microsoft Enhanced Cryptographic Provider v1.0" Then
set el = document.createElement("OPTION")
el.text = cspInfo.Name
el.value = j
document.all.cryptprov.add(el)
count = count + 1
If el.text = "Microsoft Enhanced Cryptographic Provider v1.0" Then
document.all.cryptprov.selectedIndex = count
End If
If
first = 0 Then
first = 1
document.all.cryptprov.selectedIndex = 0
End If
End If
End If
End If
Page 6
© 2010 VeriSign Japan K.K.
09/21/2010
(例: ②のケース: userEnrollMS.htm の場合)
(編集前)
If isRunningOnVista = 0 Then
cenroll.GenKeyFlags = &h04000000 OR keyflags
CreateP10 = cenroll.CreatePKCS10("CN=vsc1enroll", "1.3.6.1.5.5.7.3.2")
If Len(CreateP10) <> 0 Then Exit Function
If 1 Then
cenroll.GenKeyFlags = &h02000000 OR keyflags
CreateP10 = cenroll.CreatePKCS10("CN=vsc1enroll", "1.3.6.1.5.5.7.3.2")
if Len(CreateP10) <> 0 Then Exit Function
cenroll.GenKeyFlags = &h00000000 OR keyflags
CreateP10 = cenroll.CreatePKCS10("CN=vsc1enroll", "1.3.6.1.5.5.7.3.2")
End If
Else
(編集後)
If isRunningOnVista = 0 Then
cenroll.GenKeyFlags = &h08000000 OR keyflags
CreateP10 = cenroll.CreatePKCS10("CN=vsc1enroll", "1.3.6.1.5.5.7.3.2")
Else
※ 注
編集前の設定の場合、鍵生成に失敗しますと、改めて短い鍵長で再試行しております。これを 2 回繰
り返し、それでも鍵生成できなかった場合はエラーとなっておりました。
今回の編集により、再試行が行われないため、短い鍵長での Enroll / Renew は行われなくなります。
Page 7
© 2010 VeriSign Japan K.K.
09/21/2010
(例: ③のケース: userEnrollMS.htm の場合)
(編集前)
If (keyflags AND 1) = 1 Then
objPrivateKey.ExportPolicy = 1
Else
objPrivateKey.ExportPolicy = 0
End If
' -- Setting keySpec for AT_SIGNATURE
objPrivateKey.Length = 1024
objPrivateKey.keySpec = 2
(編集後)
If (keyflags AND 1) = 1 Then
objPrivateKey.ExportPolicy = 1
Else
objPrivateKey.ExportPolicy = 0
End If
' -- Setting keySpec for AT_SIGNATURE
objPrivateKey.Length = 2048
objPrivateKey.keySpec = 2
Page 8
© 2010 VeriSign Japan K.K.
09/21/2010
4. 通常のローカルホスティング(Firefox 用)の場合
ファイルの修正のポイントは、以下の通りです。
<KEYGEN TYPE="hidden" NAME="public_key" VALUE=""> を探し、それらを全て<KEYGEN
style="display:none" TYPE="hidden" NAME="public_key" VALUE="2048"> に置換します。
上記修正を「2. 対象ファイル」「通常のローカルホスティング ( Firefox 用 ) の場合」記載のファイ
ルに対し、実施する必要があります。
(例: userEnrollNS.htm の場合)
(編集前)
<TABLE WIDTH=588 BGCOLOR="ffffcc" CELLPADDING=7 CELLSPACING=0 BORDER=0>
<TR>
<TD WIDTH=588>
<FONT SIZE=2><B>オプション:暗号強度の選択</B></FONT><BR>
<FONT SIZE=2>以下の暗号強度の選択項目では、お使いのブラウザで選択可能な暗号強度のうち強い
ものを表示しています。通常はこのままの値にて処理してください。
<BR></FONT>
<P>
<CENTER>
<!--BEGIN INPUT FIELD TABLE-->
<TABLE WIDTH=574 CELLPADDING=3 CELLSPACING=2 BORDER=0>
<TR>
<TD WIDTH=50% BGCOLOR="ffcc00">&nbsp;</TD>
<TD COLSPAN=2 WIDTH=50% BGCOLOR="ffcc00"><IMG SRC="../graphics/blank2.gif"
WIDTH=27 HEIGHT=27">&nbsp;&nbsp;&nbsp;
<KEYGEN TYPE="hidden" NAME="public_key" VALUE=""></TD>
</TR>
</TABLE>
<!--END INPUT FIELD-->
</TD>
</TR>
</TABLE>
Page 9
© 2010 VeriSign Japan K.K.
09/21/2010
(編集後)
<TABLE WIDTH=588 BGCOLOR="ffffcc" CELLPADDING=7 CELLSPACING=0 BORDER=0>
<TR>
<TD WIDTH=588>
<FONT SIZE=2><B>オプション:暗号強度の選択</B></FONT><BR>
<FONT SIZE=2>以下の暗号強度の選択項目では、お使いのブラウザで選択可能な暗号強度のうち強い
ものを表示しています。通常はこのままの値にて処理してください。
<BR></FONT>
<P>
<CENTER>
<!--BEGIN INPUT FIELD TABLE-->
<TABLE WIDTH=574 CELLPADDING=3 CELLSPACING=2 BORDER=0>
<TR>
<TD WIDTH=50% BGCOLOR="ffcc00">&nbsp;</TD>
<TD COLSPAN=2 WIDTH=50% BGCOLOR="ffcc00"><IMG SRC="../graphics/blank2.gif"
WIDTH=27 HEIGHT=27">&nbsp;&nbsp;&nbsp;
<KEYGEN style="display:none" TYPE="hidden" NAME="public_key" VALUE="2048"></TD>
</TR>
</TABLE>
<!--END INPUT FIELD-->
</TD>
</TR>
</TABLE>
Page 10
© 2010 VeriSign Japan K.K.
09/21/2010
5. キーマネージャーをお使いのローカルホスティングの場合
ファイルの修正のポイントは、以下の通りです。
"CONST keySize 1024" を探し、それらを全て "CONST keySize 2048" に置換します。
上記修正を「2. 対象ファイル」「キーマネージャーをお使いのローカルホスティングの場合」記載の
ファイルに対し、実施する必要があります。
(例: userEnrollDualMS.fdf の場合)
(編集前)
# VSSKBEGIN Enrollment/KeyLength#6#1024#1.0.0.0#1025
CONST keySize 1024
# VSSKEND Enrollment/KeyLength#6
(編集後)
# VSSKBEGIN Enrollment/KeyLength#6#1024#1.0.0.0#1025
CONST keySize 2048
# VSSKEND Enrollment/KeyLength#6
Page 11
© 2010 VeriSign Japan K.K.
09/21/2010