HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
English Translate 中文翻訳
LINK
BACK
 

[NEW] 2020/01/11

PHP言語で RSA暗号処理する方法、OpenSSLとの連携方法 PHP言語で RSA暗号処理する方法、OpenSSLとの連携方法

(PHP言語で 公開鍵暗号方式の RSA暗号処理と OpenSSLと連携する方法を解説)

Tags: [Windows], [無人インストール]





● Microsoft Visual Studio 2013の C# .NETで RSA暗号処理する方法、OpenSSLとの連携方法

[NEW] 2020/01/11
Visual Studio 2013の .NET C#で RSA暗号処理する方法、OpenSSLとの連携方法
Visual Studio 2013の .NET C#で RSA暗号処理する方法、OpenSSLとの連携方法

  C# .NETで公開鍵暗号方式の RSA暗号処理と OpenSSLと連携する方法を解説


● Windowsで OpenSSLを使用して RSA暗号の暗号化、復号化をコマンドラインで実行する方法

[NEW] 2020/01/11
OpenSSLコマンドを使って RSA暗号処理する方法
OpenSSLコマンドを使って RSA暗号処理する方法

  OpenSSLコマンドで公開鍵暗号方式の RSA暗号処理する方法を解説


● Java言語で RSA暗号処理する方法、OpenSSLとの連携方法、Androidにも対応

 PHP言語を使用して RSA暗号処理を試してみます。
 2020年になり、情報セキュリティの関係で今後ますます暗号化の需要が高まると思います。

 と言う訳で RSA暗号処理を実装できる様になります。


● RSA公開鍵暗号方式とは?

 RSAは公開鍵暗号方式で「公開鍵」「秘密鍵」の2種類のペアの鍵を用います。暗号と復号の鍵が異なるので「非対称暗号方式」とも言います。

 「公開鍵」=公開しても良い鍵
 「秘密鍵」=秘密にする鍵

 暗号と復号の鍵が同じものは「対称暗号方式」と言います。

 RSA暗号の鍵のビット長は現在は 2048bit以上が推奨されています。
 1024bit長の鍵は現在では既に「解読」されます。
 (現在のコンピュータの処理能力で短時間で演算処理して「秘密鍵」を求める事ができる)

 2048bit長の鍵の推奨される利用期間は 2030年末までとされています。
 (少なくとも暗号アルゴリズムの安全性が確保されると見込まれる期間)
 (現在のコンピュータの進化では 2050年頃には 2048bit長の RSA鍵が危殆化すると予想されています)

 現在が 2020年で、2030年までは 10年しかないのと、昨今のコンピュータの進化速度から 2048bit長でも不安があります。

 このぶんだと先を見越して 3072bit位を使用しておくのが「安全」と思います。
 ただし、ビット長が増加すると暗号化・復号化の処理の負荷が増加します。
 また、効率的な演算手法が「発見」された場合、そもそも RSA暗号方式そのものが「無力」になる可能性もあります。

● 各種暗号、ハッシュ関数の 2030年問題の一覧表

 2031年からは Security Strength 128以上が必須となる。
 (Security Strength 128未満は古いシステム用に「使用だけ」は許可 Legacy use)

NIST Special Publication 800-57 Recommendation for Key Management
Page 52 Table 2: Comparable strengths
Page 54 Table 3: Hash functions that can be used to provide the targeted security strengths
Page 55 Table 4: Security-strength time frames
 より引用して合成して作成

暗号強度公開鍵暗号
RSA暗号方式
鍵ビット長
公開鍵暗号
ECDSA暗号方式
(楕円曲線暗号)
鍵ビット長
共通鍵暗号
AES暗号方式
鍵ビット長
SHAハッシュ関数HMAC 暗号ハッシュ関数2030年末まで2031年以降
80以下
(112未満)
10241602TDEASHA-1--×
Legacy use
×
Legacy use
11220482243TDEASHA-224、SHA-512/224--×
Legacy use
1283072256AES-128SHA-256、SHA-512/256SHA-1
1927680384AES-192SHA-384SHA-224、SHA-512/224
25615360512AES-256SHA-512SHA-256、SHA-512/256

● EMVCoの資料
EMV SWG NH90 Notice Bulletin No. 23 July 2019 EMVCo Annual RSA Key Lengths Assessment
 より引用
RSA暗号方式
鍵ビット長
利用期限特定用途での延長
1408-bit2024年末まで2025年末まで
1984-bit2029年末まで--

● CRYPTREC Report 2016
CRYPTREC Report 2016
CRYPTREC Report 2016の公開 平成29年6月30日

 付録 A.3 予測図の更新(素因数分解問題及び楕円曲線上の離散対数問題の困難性)より引用

・CRYPTREC Report 2016 付録 A.3 予測図の更新(素因数分解問題及び楕円曲線上の離散対数問題の困難性)
CRYPTREC Report 2016 付録 A.3 予測図の更新(素因数分解問題及び楕円曲線上の離散対数問題の困難性)




● 暗号用語

 平文 = 元の文
 暗号文 = 暗号化した文
 暗号化 = 平文を暗号化して暗号文にする事
 復号化 = 暗号文を解読して平文に戻す事


● RSA公開鍵暗号方式の基本的な使い方

 その1:「送信者」が「受信者」だけに「メッセージ」を届ける場合
 ・「受信者」は「公開鍵」「秘密鍵」のペアの RSA鍵を生成する
 ・「送信者」は「受信者」から「公開鍵」を受け取る
 ・「送信者」はその「公開鍵」を使って「メッセージ」を暗号化する
 ・「送信者」は「暗号化メッセージ」を「受信者」に送信する
 ・「受信者」は「暗号化メッセージ」を「自分の秘密鍵」で復号化する
 ・「受信者」は「復号化メッセージ」を読む

 その2:「送信者」が自分である事を「受信者」に「認証・証明」したい場合
 ・「送信者」は「公開鍵」「秘密鍵」のペアの RSA鍵を生成する
 ・「送信者」は自分の「秘密鍵」を使って「メッセージ」を暗号化する
 ・「送信者」は「暗号化メッセージ」を「受信者」に送信する
 ・「受信者」は「暗号化メッセージ」を送信者の「公開鍵」で復号化する
 ・正常に復号化できれば「送信者」本人が送信した「メッセージ」である事が「認証・証明」できる

使い方目的暗号化復号化補足
その1メッセージの秘匿送信「受信者」の「公開鍵」「受信者」の「秘密鍵」受信者以外は暗号化メッセージを解読できない
その2自分である事の認証・証明「送信者」の「秘密鍵」「送信者」の「公開鍵」送信者以外は暗号化メッセージを作れない


● RSA公開鍵暗号方式の基本的な暗号強度の考え

 ある素数pとq、p*q=nの3個の数値がある場合に、
 ・p*qを演算してnを求めるのは簡単
 ・nの値から素数のpとqを求めるのは困難(pとqは素数である事)

 RSA暗号の暗号解読の難易度は、素数同士の積を求める事は(掛け算するだけだから)簡単であるが、逆に素数同士の積の値から素因数分解を求めるのが難しいと言う一方向性の数学的性質を利用しています。

 この場合、
 ・pとqが秘密鍵
 ・nが公開鍵
 になります。

RSA暗号 - Wikipedia

 面白記事
世界最小のRSA鍵ペアは何bitか
続・世界最小のRSA鍵ペアは何bitか

●楕円曲線暗号 Elliptic Curve Cryptography ECC

 楕円曲線を利用した暗号方式の総称で、RSAと同様の「公開鍵暗号」も実装できる。
 楕円曲線上の離散対数問題 (EC-DLP) の困難性を安全性の根拠とする暗号。
 楕円曲線暗号で有名なものとして ECDSAや ECDH等がある。

 RSA暗号などと比べた場合に同レベルの安全性をより短い鍵で実現でき、処理速度も速いのが利点。

楕円曲線暗号


● 公開鍵暗号は「ゴルゴ13」のデューク・トウゴウも関係しています。「最終暗号」

 ゴルゴ13 「最終暗号」

 数学者の佐久シゲルが解読不可能な暗号方式(最終暗号)を開発し、一般に公開しようとするのをアメリカの NSA(国家安全保障局)が妨害すると言うお話。

 なぜ妨害するかと言うと「解読不可能な暗号方式」で通信を行なわれると NSAが傍受・盗聴して通信内容を監視する事ができなくなるから。

 ゴルゴ13 デューク・トウゴウは佐久シゲルの学会での講演を聞き、その内容の意味(最終暗号の理論)を理解し、その最終暗号の開発が無事に完成する様に、また、NSAからの妨害工作から佐久シゲルを守るべくボディガードと支援を申し出る事にした。。。

 なお、既に各方面からツッコミが入っていますが「最終暗号」作中の「平方根を求める事は難しくても、~」の部分は誤りで、平方根を求めるのは「開平法」で手計算でも(頑張れば)できます。

 佐久シゲルのモデル 小平邦彦
小平邦彦
 小平次元、小平消滅定理、小平・スペンサー理論等に名を残している。

 NSA(アメリカ国家安全保障局)による市販ソフトウェアに仕込まれたバックドア(裏口)
NSA's Backdoor Key from Lotus-Notes
 "1984" O=MiniTruth CN=Big Brother


ゴルゴ13 (Volume108) 最終暗号 (SPコミックスコンパクト) (日本語) コミック - 2007/9/28
ASIN: 4845830612

ゴルゴ13 (129) (SPコミックス) (日本語) コミック - 2003/7/5
ASIN: 4845801299

ゴルゴ13 THE LAST CODE〜最終暗号〜 (My first big) (日本語) ムック - 2015/8/7
ASIN: 4091198481

暗号解読(上) (新潮文庫) (日本語) 文庫 - 2007/6/28
ASIN: 410215972X


● PHP言語で RSA暗号の鍵を扱う場合の参考資料

PHP OpenSSL 関数 openssl_pkey_new


● PHP言語で RSA暗号処理する方法、OpenSSLとの連携方法のサンプルプログラム

 PHP言語で RSA暗号化処理のサンプルプログラム

● PHP言語のサンプルプログラムの実行方法
php rsa_test.php

rsa_test.php
<?php

// PHPの内部で RSA鍵ファイルを生成して
// 公開鍵で暗号化して、秘密鍵で復号化する
// opensslコマンドで秘密鍵で復号化する

$config = array(
 //    "digest_alg" => "sha512",
    "private_key_bits" => 1024,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
);

 // Create the private and public key
$res = openssl_pkey_new($config);

 // Extract the private key from $res to $privKey
openssl_pkey_export($res, $privKey);

echo $privKey."\n"."\n";

 // Extract the public key from $res to $pubKey
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];

echo $pubKey."\n"."\n";

$data = 'plaintext data goes here';

echo $data."\n"."\n";

 // Encrypt the data to $encrypted using the public key
openssl_public_encrypt($data, $encrypted, $pubKey);

echo bin2hex($encrypted)."\n"."\n";

// opensslコマンドで秘密鍵で復号化する
 //$ openssl rsautl -decrypt -inkey privKey.pem -in test_data.enc -out decode_test_data.txt
 //$ cat decode_test_data.txt
file_put_contents("test_data.enc", $encrypted);
file_put_contents("privKey.pem", $privKey);

 // Decrypt the data using the private key and store the results in $decrypted
openssl_private_decrypt($encrypted, $decrypted, $privKey);

echo $decrypted."\n";

?>


●実行結果
$ php rsa_test.php
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL2lQb9SaXj98VrX
q0RKwV8vrtAIk0TaNAG4exc546BvYC2ZOUqXxAZ6b+pQQyzjLIVTti765Ju826wY
7WbAIJ3JsEBuwkoNLcxlw6xVnE7hkaIFrHdP4yEyaCbJ4nVSoEqUovRaQJuHVCCV
9VJmQzkZeBN1NnpnrlCzkAqc8eG9AgMBAAECgYB3Q7lwV6SrCZDCn4U+woCPmw4m
GG59S3iPaHRIrAhB+ikTJBxKk90ccd12Dxnf3dI+2uFk9DXW11OTDG4oQ0V+vzyE
ucCaq+8kf8XN5uPaO2/lzbGGhPUnyYobUknO8aV/QqTuSJ2PZBiyIFHP1wvChQ/i
N8rDOn4uVWs+3DoixQJBAPM/kWZdFKOQBOqGwt1GcIVD/N4AwEqepXjW1TZK2gBf
AzyebNz4pRlCxRdxdtvH5uvTRpKN4PYpsFvg2TuN/bMCQQDHllSxik5o6mSvOymU
QCvxymRazOaXFJ05d0AlJDrU6FhuKO8vJL6Melozv+n4gwA7uoHXk+QD3FZuH05B
BErPAkBdFl6WRdi4H01CUwAPnf1Bgpsqei8cX0oDzHMbq9lxeurKL/aJOb40xJCY
QBu0T/PXG6tOOm10xs9u2cVIPTZxAkBZkANHfFn9SJmP7MuWxEk0Am+QM3ySdWSs
Ye/9+skPu4fbPzE+BY4gedM6f7ddlmOnaeVUOQBMHzcFybSTBnsPAkEAsaWJtckR
QAgU9mrzlufxbbfrVRWxIgKnNHWhMhJNckBh+8gOMZk/5erDM2YXU9gkt2XP81Ta
aD3UCRXnecJl8A==
-----END PRIVATE KEY-----


-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9pUG/Uml4/fFa16tESsFfL67Q
CJNE2jQBuHsXOeOgb2AtmTlKl8QGem/qUEMs4yyFU7Yu+uSbvNusGO1mwCCdybBA
bsJKDS3MZcOsVZxO4ZGiBax3T+MhMmgmyeJ1UqBKlKL0WkCbh1QglfVSZkM5GXgT
dTZ6Z65Qs5AKnPHhvQIDAQAB
-----END PUBLIC KEY-----


plaintext data goes here

4fe170ffc2e0599379c2393573ccf4437244d759e5d6b121da05c48b2b421656ad38f07dccac2e8c2946e42cc2caba33376674b8fa3c186fff8cff485a909ce85e80ce78cc3e58b5d2e9cf93d36fcc8ec217da38fa0431fcb3f9c2e654add6c2877f417f5e5e030e43268238f4f1cda72f7eab735460cd5b0e661425b47a5c43

plaintext data goes here

$ ls -l
-rw-r--r--   1 pi   pi        916 Jan 14 12:59 privKey.pem
-rw-r--r--   1 pi   pi        128 Jan 14 12:59 test_data.enc

$ openssl rsautl -decrypt -inkey privKey.pem -in test_data.enc -out decode_test_data.txt

$ cat decode_test_data.txt
plaintext data goes here


-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL2lQb9SaXj98VrX
q0RKwV8vrtAIk0TaNAG4exc546BvYC2ZOUqXxAZ6b+pQQyzjLIVTti765Ju826wY
7WbAIJ3JsEBuwkoNLcxlw6xVnE7hkaIFrHdP4yEyaCbJ4nVSoEqUovRaQJuHVCCV
9VJmQzkZeBN1NnpnrlCzkAqc8eG9AgMBAAECgYB3Q7lwV6SrCZDCn4U+woCPmw4m
GG59S3iPaHRIrAhB+ikTJBxKk90ccd12Dxnf3dI+2uFk9DXW11OTDG4oQ0V+vzyE
ucCaq+8kf8XN5uPaO2/lzbGGhPUnyYobUknO8aV/QqTuSJ2PZBiyIFHP1wvChQ/i
N8rDOn4uVWs+3DoixQJBAPM/kWZdFKOQBOqGwt1GcIVD/N4AwEqepXjW1TZK2gBf
AzyebNz4pRlCxRdxdtvH5uvTRpKN4PYpsFvg2TuN/bMCQQDHllSxik5o6mSvOymU
QCvxymRazOaXFJ05d0AlJDrU6FhuKO8vJL6Melozv+n4gwA7uoHXk+QD3FZuH05B
BErPAkBdFl6WRdi4H01CUwAPnf1Bgpsqei8cX0oDzHMbq9lxeurKL/aJOb40xJCY
QBu0T/PXG6tOOm10xs9u2cVIPTZxAkBZkANHfFn9SJmP7MuWxEk0Am+QM3ySdWSs
Ye/9+skPu4fbPzE+BY4gedM6f7ddlmOnaeVUOQBMHzcFybSTBnsPAkEAsaWJtckR
QAgU9mrzlufxbbfrVRWxIgKnNHWhMhJNckBh+8gOMZk/5erDM2YXU9gkt2XP81Ta
aD3UCRXnecJl8A==
-----END PRIVATE KEY-----

Private Key Detailed Information:

Key Details:
   Type: RSA
   Size (bits): 1024
   Modulus (n):
bda541bf526978fdf15ad7ab444ac15f2faed0089344da3401b87b1739e3a06f
602d99394a97c4067a6fea50432ce32c8553b62efae49bbcdbac18ed66c0209d
c9b0406ec24a0d2dcc65c3ac559c4ee191a205ac774fe321326826c9e27552a0
4a94a2f45a409b87542095f55266433919781375367a67ae50b3900a9cf1e1bd
   Public Exponent (e): 65537 (0x010001)
   Private Exponent (d):
7743b97057a4ab0990c29f853ec2808f9b0e26186e7d4b788f687448ac0841fa
2913241c4a93dd1c71dd760f19dfddd23edae164f435d6d753930c6e2843457e
bf3c84b9c09aabef247fc5cde6e3da3b6fe5cdb18684f527c98a1b5249cef1a5
7f42a4ee489d8f6418b22051cfd70bc2850fe237cac33a7e2e556b3edc3a22c5
   First Prime (p):
f33f91665d14a39004ea86c2dd46708543fcde00c04a9ea578d6d5364ada005f
033c9e6cdcf8a51942c5177176dbc7e6ebd346928de0f629b05be0d93b8dfdb3
   Second Prime (q):
c79654b18a4e68ea64af3b2994402bf1ca645acce697149d39774025243ad4e8
586e28ef2f24be8c7a5a33bfe9f883003bba81d793e403dc566e1f4e41044acf
   First Exponent (dmp1 = d mod (p-1)):
5d165e9645d8b81f4d4253000f9dfd41829b2a7a2f1c5f4a03cc731babd9717a
eaca2ff68939be34c49098401bb44ff3d71bab4e3a6d74c6cf6ed9c5483d3671
   Second Exponent (dmq1 = d mod (q-1)):
599003477c59fd48998feccb96c44934026f90337c927564ac61effdfac90fbb
87db3f313e058e2079d33a7fb75d9663a769e55439004c1f3705c9b493067b0f
   Coefficient ((inverse of q) mod p):
b1a589b5c911400814f66af396e7f16db7eb5515b12202a73475a132124d7240
61fbc80e31993fe5eac333661753d824b765cff354da683dd40915e779c265f0



Tags: [Windows], [無人インストール]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

OpenSSLコマンドを使って RSA暗号処理する方法
OpenSSLコマンドを使って RSA暗号処理する方法

  OpenSSLコマンドで公開鍵暗号方式の RSA暗号処理する方法を解説

Java言語で RSA暗号処理する方法、OpenSSLとの連携方法、Androidにも対応
Java言語で RSA暗号処理する方法、OpenSSLとの連携方法、Androidにも対応

  Java言語で公開鍵暗号方式の RSA暗号処理と OpenSSLと連携する方法を解説

Visual Studio 2013の .NET C#で RSA暗号処理する方法、OpenSSLとの連携方法
Visual Studio 2013の .NET C#で RSA暗号処理する方法、OpenSSLとの連携方法

  C# .NETで公開鍵暗号方式の RSA暗号処理と OpenSSLと連携する方法を解説

GO言語で RSA暗号処理する方法、OpenSSLとの連携方法
GO言語で RSA暗号処理する方法、OpenSSLとの連携方法

  GO言語で 公開鍵暗号方式の RSA暗号処理と OpenSSLと連携する方法を解説

Visual Studio 2013の C# .NETで Hash計算処理をする方法のサンプルプログラム
Visual Studio 2013の C# .NETで Hash計算処理をする方法のサンプルプログラム

  HashAlgorithm.TransformBlockを使用すると巨大ファイル等でハッシュ計算の進行状況の進捗を取得できます

Visual Studio 2013の .NET C#で UTF-8対応 QRコード生成・読取アプリを作成する方法、ZXing.Net QR Codeライブラリを使用
Visual Studio 2013の .NET C#で UTF-8対応 QRコード生成・読取アプリを作成する方法、ZXing.Net QR Codeライブラリを使用

  .NETで UTF-8対応 QRコード作成・解読アプリを作成、ILMergeで dllを exeに合体する方法

C# .NETで ZIPファイル解凍ツール UnZipをソースリスト 1行で自作する方法、Windows .NET専用
C# .NETで ZIPファイル解凍ツール UnZipをソースリスト 1行で自作する方法、Windows .NET専用

  Visual Studio 2013の C# .NET 4.5で ZipFile.ExtractToDirectoryを使い、UnZip解凍ツールを作成

Visual Studio 2013に Windows 10 SDK + UwpDesktopで UWPの機能を素の Windowsアプリから使用
Visual Studio 2013に Windows 10 SDK + UwpDesktopで UWPの機能を素の Windowsアプリから使用

  VS2013に Win 10 SDKをインストールして Uwp Desktopで UWPの機能を従来の Windowsアプリで動かす

Visual Studio 2013の C# .NETで 日本語対応の OCR文字認識アプリを自作する方法
Visual Studio 2013の C# .NETで 日本語対応の OCR文字認識アプリを自作する方法

  オフライン環境で動作可能な 世界各国語対応の OCR文字認識アプリを C# .NETで作成、MS製 OCRライブラリを使用

Visual Studio 2013の C#で日本語対応の手書き文字認識アプリを自作する方法
Visual Studio 2013の C#で日本語対応の手書き文字認識アプリを自作する方法

  オフライン環境で動作する世界各国語対応の手書き文字認識アプリを作成、MS製 手書き認識ライブラリを使用

Open XML SDKを使用して Officeのファイルを C#で自在に操る方法
Open XML SDKを使用して Officeのファイルを C#で自在に操る方法

  Microsoft Officeのファイルをプログラムで生成したり直接中身の読み取りができます

Visual Studioの各バージョンと開発できる .NET Frameworkの各バージョンのまとめ
Visual Studioの各バージョンと開発できる .NET Frameworkの各バージョンのまとめ

  .Microsoft.NET Framework Developer Packの各バージョンのダウンロードまとめ。言語パック等

Windows 10対応 Microsoft Speech使用の音声認識アプリ
Windows 10対応 Microsoft Speech使用の音声認識アプリ

  SpeechRecognizeApp 音声認識エンジンを使用してマイク入力の音声を認識します

Windows 10の音声合成エンジンを使用して入力した文字列を喋る & Waveファイル書き出し
Windows 10の音声合成エンジンを使用して入力した文字列を喋る & Waveファイル書き出し

  SpeechApp Windows 10用 Speech 音声合成 Text-to-Speech TTSのアプリ

Visual Studioの C#や MFC C++用のサンプルアプリのリンク集
Visual Studioの C#や MFC C++用のサンプルアプリのリンク集

  Visual Studioの C#や MFC C++でアプリを作る時の参考資料として

Windowsの Input Method Manager IMEや TSF Text Services Frameworkの公式情報源のまとめ
Windowsの Input Method Manager IMEや TSF Text Services Frameworkの公式情報源のまとめ

  Windowsで IME Input Method Manager関連のアプリを作成する時の情報 ImeTrayもこの辺を必死に読んだ

Visual Studioの C#で開発した .Netアプリの難読化をする方法
Visual Studioの C#で開発した .Netアプリの難読化をする方法

  C#で開発した .Netアプリの難読化は必須事項です、素の状態では簡単に内部を解析されます

Visual Studioの C#で開発した .Netアプリを逆コンパイルして、中身の実装を覗き見る方法
Visual Studioの C#で開発した .Netアプリを逆コンパイルして、中身の実装を覗き見る方法

  C#で開発した .Netアプリは比較的簡単に元のソースコードに戻せます

Visual Studio 2019 Professional v16.4を無人インストールする方法、完全自動でインストール
Visual Studio 2019 Professional v16.4を無人インストールする方法、完全自動でインストール

  VS2019 v16.4を完全オフラインインストール&コンポーネント選択の事前設定で自動インストールする

Visual Studio 2013 Professionalを無人インストールする方法、完全自動でインストール
Visual Studio 2013 Professionalを無人インストールする方法、完全自動でインストール

  VS2013を Update 5適用済みとコンポーネント選択の事前設定でインストール時の手間を省く



[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2020 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/software/rsa_encrypt_decrypt_php_language/