Files
SuperVPN/output/Libraries/BouncyCastle.Crypto/Org/BouncyCastle/Bcpg/Sig/SignatureCreationTime.cs
2025-10-09 09:57:24 +09:00

36 lines
875 B
C#

using System;
using Org.BouncyCastle.Utilities.Date;
namespace Org.BouncyCastle.Bcpg.Sig;
public class SignatureCreationTime : SignatureSubpacket
{
protected static byte[] TimeToBytes(DateTime time)
{
long num = DateTimeUtilities.DateTimeToUnixMs(time) / 1000;
return new byte[4]
{
(byte)(num >> 24),
(byte)(num >> 16),
(byte)(num >> 8),
(byte)num
};
}
public SignatureCreationTime(bool critical, bool isLongLength, byte[] data)
: base(SignatureSubpacketTag.CreationTime, critical, isLongLength, data)
{
}
public SignatureCreationTime(bool critical, DateTime date)
: base(SignatureSubpacketTag.CreationTime, critical, isLongLength: false, TimeToBytes(date))
{
}
public DateTime GetTime()
{
long num = (uint)((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]);
return DateTimeUtilities.UnixMsToDateTime(num * 1000);
}
}