Komut satırı üzerinden Windows Server 2012'de OpenSSL olan bir XML dosyasını imzalamalıyım.
Komut içinde parolayı ayarladıysam ne yazık ki işe yaramadı. Daha sonra her zaman hatayı alıyorum: "Yalnızca bir dosyayı imzalayabilir veya doğrulayabilir"
Parola seçeneği olmayan komut satırını kullanırsam, o zaman işe yarayacak gibi görünüyor, sonra parola soruları ve eğer girilirse sig dosyası oluşturulur.
Ne yazık ki, komutu otomatik bir komut dosyasında kullanmak istiyorum, bu yüzden parolayı komut satırı üzerinden geçirmem gerekiyor.
Aşağıdaki satırlarla denendi:
Parola seçeneği olmadan (iyi çalışıyor):
C:\OpenSSL-Win64\bin\openssl.exe dgst -sha512 -binary -out "D:\BZSt\CRS\m5_cs_bz101481661_1013801661_test00000001.xml.sig" -sign "D:\BZSt\CRS\SFTP-Keys\FinDK_elster_2048.pem" "D:\BZSt\CRS\m5_cs_bz101481661_1013801661_test00000001.xml"
Parola seçeneğiyle (Çalışmıyor / Not: Özel karakterler içerdiğinden ve parola etrafında çift tırnaktan kaçma işlemi olmadığından, txt dosyasında saklanan parola işe yaramadı):
C:\OpenSSL-Win64\bin\openssl.exe dgst -sha512 -binary -out "D:\BZSt\CRS\m5_cs_bz101481661_1013801661_test00000001.xml.sig" -sign "D:\BZSt\CRS\SFTP-Keys\FinDK_elster_2048.pem" "D:\BZSt\CRS\m5_cs_bz101481661_1013801661_test00000001.xml" -pass file:"D:\BZSt\CRS\SFTP-Keys\BZSt-Passphrase.txt"
Belki de her yerde yanlış sözdizim var. Herhangi bir yardım takdir edilecektir.
Saygılarımla,
P. Baeumel