PEM Base64エンコーダー
証明書や鍵と同じ形でテキストを包みます。標準Base64を64文字ごとの行に折り返し、-----BEGIN CERTIFICATE-----と-----END CERTIFICATE-----の間に置きます。PEMブロックを元のテキストに戻すこともでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ラベル
- CERTIFICATE
- 計算モード
- Encode
- 行の長さ
- 64
- バイト
- 205
Privacy-Enhanced Mail(PEM)は、証明書・秘密鍵・公開鍵のファイルが今なお運ばれるテキスト封筒です。開発者は設定、CIシークレット、KubernetesのTLSシークレット、ACMEログにこれらのブロックを貼り付けます。サポート担当は連続したBase64を再整形してOpenSSLが受け付けるようにし、教育者はCERTIFICATEヘッダーとPRIVATE KEYヘッダーの違いを、本格的な暗号ツール一式を入れずに示します。
64文字行のPEMブロックへテキストをエンコードする
labelを省略するとエンジンはCERTIFICATEを使い、これは証明書の貼り付けで最も多い検索意図に合います。ほかに多いラベルはPRIVATE KEY、RSA PRIVATE KEY、PUBLIC KEY、CERTIFICATE REQUESTです。
エンジンは文字列をUTF-8バイトへ直列化し、標準Base64アルファベット(等号パディング付き)へ写し、連続Base64をちょうど六十四文字の行に折り(必要なら最後の行は短く)、同一ラベルで-----BEGIN LABEL-----と-----END LABEL-----の間に包みます。多言語テキストと句読点は往復します。
経路は完全なUTF-8であり、Latin-1の近道ではありません。アルゴリズムはネットワークも乱数ソルトも壁時計もない純粋な文字列・バイト演算のため、同一入力は常に同一出力です。継続的インテグレーションのフィクスチャにPEMブロックを固定してもフレークしません。
PEMブロックをデコードし、不正入力を安全に扱う
modeをdecodeにし、BEGIN行とEND行を含む完全なPEMブロックをtextに入れてください。ブロック周囲の前後空白は許容されるため、チケットや文書からの複数行貼り付けもそのまま使えます。
エンジンは最初の-----BEGIN LABEL-----ヘッダーを探し、ラベルを読み、対応する-----END LABEL-----フッターを見つけ、フッター欠落、ENDラベルとBEGINラベルの不一致、ボディ内の予期しないカプセル化境界では要求を拒否します。decode時にlabelも渡す場合、ブロック内のラベルと一致しなければなりません。
ボディ行はトリムして連結し、Base64領域内の空白・タブ・改行を除いたうえで、標準Base64と同じ規則で連続アルファベットを検証します。不正文字、途中のパッド、等号パディングが三つ以上、長さの四での剰余が一、は明示メッセージで失敗します。
検索意図がPEM枠組み(ヘッダーと六十四文字行)である場合に本能力を選び、カプセル化のない生Base64や、兄弟エンコーダが扱うURLセーフなクッキー用アルファベットには寄せないでください。
PEMブロックの主な使い道と注意点
OpenSSLを入れずに証明書貼り付けの教室デモ、サポート手順、単発の再包みには、ブラウザ上の無料PEM Base64ツールをご利用ください。エンジンが拒否した検証失敗は残高を消費しません。
典型的な流れは、短い設定シークレットをラベル付きPEMとしてチケット系に保存し、受信サービスでmode decodeしてbytesとlabelが元と一致することを確認することです。別の流れは、改行なしで届いた連続Base64証明書ボディの正規化です。
すでにPEMがあるならencodeは不要ですが、decodeはBEGINとENDヘッダーがあれば折り畳みの有無を問わず受け付け、resultを確認したあと必要なら六十四文字の正規折り畳みで再エンコードできます。
枠なしトークンとPEM包み鍵の両方を扱うパイプラインでは素のBase64ツールと組み合わせつつ、ランディングは分け、各ページが単一の検索意図(pem base64 encoderとtext to base64)に対応するようにしてください。
元テキストは他のKIT parse項目と同じ保持規則に従い、アルゴリズムはアイソレート間で完全に決定的なため、結果を継続的インテグレーションのフィクスチャに固定しても安全です。
よくある質問
テキストをPEM Base64としてエンコードするには?
resultは64文字Base64行の複数行PEMブロックです。
PEMブロックをデコードするには?
mode decodeとし、BEGIN/END行を含む完全なPEMをtextに入れてください。
ここでPEMは何文字で折り返しますか?
ボディ行は六十四文字で折り返します。証明書と鍵で使われる古典的なPEM長です。
BEGIN行とEND行にはどのラベルを入れますか?
指定しなければCERTIFICATEが使われます。ほかにPRIVATE KEY、RSA PRIVATE KEY、PUBLIC KEY、CERTIFICATE REQUESTなども選べます。両方の行に同じラベルが入り、デコード時はブロックから読み取ったラベルと指定したものが一致する必要があります。
PEMブロックが正しくないとどうなりますか?
枠の形が崩れている場合、BEGINとENDのラベルが一致しない場合、本文にBase64として使えない文字がある場合は、意味のない文字を返さずに分かりやすいメッセージで止まります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/base64-pem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, PEM!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base64-pem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, PEM!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base64-pem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, PEM!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base64-pem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, PEM!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, PEM!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base64-pem", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello, PEM!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64_pem",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
Base64ペイロードを六十四文字ごとに折り返し、一致する-----BEGIN LABEL-----と-----END LABEL-----で挟みます。本PEM Base64エンコーダーは単一のmodeフィールドで双方向に変換します。encodeはUTF-8テキストを古典的な行折り畳み付きの標準形PEMブロックにし、decodeはヘッダーを外してUTF-8ペイロードを復元し、不正な枠組み・ラベル不一致・不正なBase64は明確なinvalid_inputで拒否します。無料のブラウザ経路と前払いAPIは同じ純粋アルゴリズムを共有するため、課題・文書・パイプラインが改行ひとつで食い違うことはありません。API成功は1件あたり$0.002、検証失敗は課金されません。
64文字行のPEMブロックへテキストをエンコードする
必須の文字列フィールドtextにPEMとして送りたい平文のUTF-8ペイロードを入れたJSON本体を送り、modeは既定のencodeのままにするか明示的にencodeを指定し、必要に応じてカプセル化境界に出す型文字列をlabelに設定してください。空のペイロードも合法で、空ボディと一致するヘッダー付きの整形式PEMが返り、パーサ試験に向きます。textにはinput、value、s、pem、payloadの別名を、modeにはdirection、op、actionを受け付け、生成クライアントや古いフォーム名でも動きます。応答は常に、完全な複数行PEM文字列のresult、mode encode、解決した型を示すlabel、六十四固定のline_length、ヘッダーも改行もない連続Base64のbase64_body、符号化前のUTF-8長であるbytesを含み、テストでペイロードサイズを検証できます。
PEMブロックをデコードし、不正入力を安全に扱う
不一致はinvalid_inputとなり、CERTIFICATEを誤って貼ったときにPRIVATE KEYを受け取ったと自動化が断言できます。アルファベット検証の後、バイトは致命的デコーダでUTF-8として解読されるため、有効なUnicodeでない非テキストDERも置換文字を出さずinvalid_inputになります。成功時はresultに復元文字列、mode decode、ヘッダー由来のlabel、line_length六十四、連続ボディのbase64_body、デコード後UTF-8長のbytesを返します。前払いAPIでは検証失敗は課金されないため、疑わしい貼り付けの調査は運用者に安く、利用者にも安全です。
API利用、料金、ワークフロー、実務上の限界
バックエンド、サーバーレス関数、SDKが同じencodeまたはdecode手順を残高のもとで必要とする場合は、成功1件あたり$0.002の前払いKIT APIを使います。SDKを出す作者はresultをそのままコピーボタンへ写せ、labelとline_lengthにより、古典的な証明書ファイル形しか知らない読者にもOpenAPI例が自明になります。
連携の活用例
証明書と鍵の貼り付け正規化
連続Base64や平文ペイロードを、一致するBEGIN/ENDラベル付きの64文字PEM行に再包みし、OpenSSL・Kubernetesシークレット・Webサーバが受け付けるようにします。
CIと文書のゴールデン検査
CERTIFICATEとPRIVATE KEYのサンプルにencode/decodeフィクスチャを固定し、PEM枠組みがずれたら文書と継続的インテグレーション試験がすぐ失敗するようにします。
サポートと教育
担当者と学習者は無料ブラウザウィジェットでテキストとPEM Base64を往復変換し、ヘッダー欠落やラベル不一致では明確なinvalid_inputを得ます。
技術的な質問
PEM Base64エンコーダーは無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。
PEMが無効な場合はどうなりますか?
ヘッダー欠落、BEGIN/ENDラベル不一致、不正なBase64ボディ、有効でないUTF-8ペイロードではdecodeがinvalid_inputで失敗します。メッセージが原因を示し、要求は課金されません。