Qt OPC UA X509 サポート
鍵と証明書署名要求の生成方法を示します。
この例では、クライアント・アプリケーションが自己署名証明書を生成する方法、または証明書署名要求を生成する方法を示します。
RSAキーの生成
最初に、RSA 鍵が生成されます:
QOpcUaKeyPair key; key.generateRsaKey(QOpcUaKeyPair::RsaKeyStrength::Bits2048);
秘密鍵はファイルに保存しておくことができる:
QByteArray keyData = key.privateKeyToByteArray(QOpcUaKeyPair::Cipher::Unencrypted, QString()); QFile keyFile(u"privateKey.pem"_s); keyFile.open(QFile::WriteOnly); keyFile.write(keyData); keyFile.close();
証明書署名要求の生成
次に、証明書署名要求が作成される。証明書のサブジェクトを設定し、OPC UAに必要なすべての拡張機能を追加する必要があります。
QOpcUaX509CertificateSigningRequest csr; // Set the subject of the certificate QOpcUaX509DistinguishedName dn; dn.setEntry(QOpcUaX509DistinguishedName::Type::CommonName, u"QtOpcUaViewer"_s); dn.setEntry(QOpcUaX509DistinguishedName::Type::CountryName, u"DE"_s); dn.setEntry(QOpcUaX509DistinguishedName::Type::LocalityName, u"Berlin"_s); dn.setEntry(QOpcUaX509DistinguishedName::Type::StateOrProvinceName, u"Berlin"_s); dn.setEntry(QOpcUaX509DistinguishedName::Type::OrganizationName, u"The Qt Company"_s); csr.setSubject(dn);
ここで、2つのオプションがあります:
1.証明書署名要求が認証局によって署名される必要がある場合、要求データを使用する必要があります。
QByteArray certificateSigningRequestData = csr.createRequest(key);
2.認証局がない場合は、自己署名する。
QByteArray selfSignedCertificateData = csr.createSelfSignedCertificate(key);
ファイル
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。